{
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_factory",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_WETH",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "WETH",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenA",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "tokenB",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amountADesired",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountBDesired",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountAMin",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountBMin",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        }
      ],
      "name": "addLiquidity",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amountA",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountB",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "liquidity",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amountTokenDesired",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountTokenMin",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountETHMin",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        }
      ],
      "name": "addLiquidityETH",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amountToken",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountETH",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "liquidity",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "factory",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amountOut",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "reserveIn",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "reserveOut",
          "type": "uint256"
        }
      ],
      "name": "getAmountIn",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amountIn",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amountIn",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "reserveIn",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "reserveOut",
          "type": "uint256"
        }
      ],
      "name": "getAmountOut",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amountOut",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amountOut",
          "type": "uint256"
        },
        {
          "internalType": "address[]",
          "name": "path",
          "type": "address[]"
        }
      ],
      "name": "getAmountsIn",
      "outputs": [
        {
          "internalType": "uint256[]",
          "name": "amounts",
          "type": "uint256[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amountIn",
          "type": "uint256"
        },
        {
          "internalType": "address[]",
          "name": "path",
          "type": "address[]"
        }
      ],
      "name": "getAmountsOut",
      "outputs": [
        {
          "internalType": "uint256[]",
          "name": "amounts",
          "type": "uint256[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amountA",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "reserveA",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "reserveB",
          "type": "uint256"
        }
      ],
      "name": "quote",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amountB",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenA",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "tokenB",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "liquidity",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountAMin",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountBMin",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        }
      ],
      "name": "removeLiquidity",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amountA",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountB",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "liquidity",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountTokenMin",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountETHMin",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        }
      ],
      "name": "removeLiquidityETH",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amountToken",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountETH",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "liquidity",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountTokenMin",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountETHMin",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        }
      ],
      "name": "removeLiquidityETHSupportingFeeOnTransferTokens",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amountETH",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "liquidity",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountTokenMin",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountETHMin",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        },
        {
          "internalType": "bool",
          "name": "approveMax",
          "type": "bool"
        },
        {
          "internalType": "uint8",
          "name": "v",
          "type": "uint8"
        },
        {
          "internalType": "bytes32",
          "name": "r",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "s",
          "type": "bytes32"
        }
      ],
      "name": "removeLiquidityETHWithPermit",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amountToken",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountETH",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "liquidity",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountTokenMin",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountETHMin",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        },
        {
          "internalType": "bool",
          "name": "approveMax",
          "type": "bool"
        },
        {
          "internalType": "uint8",
          "name": "v",
          "type": "uint8"
        },
        {
          "internalType": "bytes32",
          "name": "r",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "s",
          "type": "bytes32"
        }
      ],
      "name": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amountETH",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenA",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "tokenB",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "liquidity",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountAMin",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountBMin",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        },
        {
          "internalType": "bool",
          "name": "approveMax",
          "type": "bool"
        },
        {
          "internalType": "uint8",
          "name": "v",
          "type": "uint8"
        },
        {
          "internalType": "bytes32",
          "name": "r",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "s",
          "type": "bytes32"
        }
      ],
      "name": "removeLiquidityWithPermit",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amountA",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountB",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amountOut",
          "type": "uint256"
        },
        {
          "internalType": "address[]",
          "name": "path",
          "type": "address[]"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        }
      ],
      "name": "swapETHForExactTokens",
      "outputs": [
        {
          "internalType": "uint256[]",
          "name": "amounts",
          "type": "uint256[]"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amountOutMin",
          "type": "uint256"
        },
        {
          "internalType": "address[]",
          "name": "path",
          "type": "address[]"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        }
      ],
      "name": "swapExactETHForTokens",
      "outputs": [
        {
          "internalType": "uint256[]",
          "name": "amounts",
          "type": "uint256[]"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amountOutMin",
          "type": "uint256"
        },
        {
          "internalType": "address[]",
          "name": "path",
          "type": "address[]"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        }
      ],
      "name": "swapExactETHForTokensSupportingFeeOnTransferTokens",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amountIn",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountOutMin",
          "type": "uint256"
        },
        {
          "internalType": "address[]",
          "name": "path",
          "type": "address[]"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        }
      ],
      "name": "swapExactTokensForETH",
      "outputs": [
        {
          "internalType": "uint256[]",
          "name": "amounts",
          "type": "uint256[]"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amountIn",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountOutMin",
          "type": "uint256"
        },
        {
          "internalType": "address[]",
          "name": "path",
          "type": "address[]"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        }
      ],
      "name": "swapExactTokensForETHSupportingFeeOnTransferTokens",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amountIn",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountOutMin",
          "type": "uint256"
        },
        {
          "internalType": "address[]",
          "name": "path",
          "type": "address[]"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        }
      ],
      "name": "swapExactTokensForTokens",
      "outputs": [
        {
          "internalType": "uint256[]",
          "name": "amounts",
          "type": "uint256[]"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amountIn",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountOutMin",
          "type": "uint256"
        },
        {
          "internalType": "address[]",
          "name": "path",
          "type": "address[]"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        }
      ],
      "name": "swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amountOut",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountInMax",
          "type": "uint256"
        },
        {
          "internalType": "address[]",
          "name": "path",
          "type": "address[]"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        }
      ],
      "name": "swapTokensForExactETH",
      "outputs": [
        {
          "internalType": "uint256[]",
          "name": "amounts",
          "type": "uint256[]"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amountOut",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountInMax",
          "type": "uint256"
        },
        {
          "internalType": "address[]",
          "name": "path",
          "type": "address[]"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        }
      ],
      "name": "swapTokensForExactTokens",
      "outputs": [
        {
          "internalType": "uint256[]",
          "name": "amounts",
          "type": "uint256[]"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    }
  ],
  "allSourcePaths": {
    "26": "contracts/mock/MockUniswapV2Router02.sol"
  },
  "ast": {
    "absolutePath": "contracts/mock/MockUniswapV2Router02.sol",
    "exportedSymbols": {
      "IERC20": [
        8004
      ],
      "MockUniswapV2Router02": [
        10051
      ],
      "MockUniswapV2Router02IUniswapV2Factory": [
        7291
      ],
      "MockUniswapV2Router02IUniswapV2Pair": [
        7531
      ],
      "MockUniswapV2Router02IUniswapV2Router01": [
        7837
      ],
      "MockUniswapV2Router02IUniswapV2Router02": [
        7922
      ],
      "MockUniswapV2Router02IWETH": [
        8022
      ],
      "MockUniswapV2Router02SafeMath": [
        10124
      ],
      "MockUniswapV2Router02TransferHelper": [
        10725
      ],
      "MockUniswapV2Router02UniswapV2Library": [
        10567
      ]
    },
    "id": 10726,
    "license": null,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 7230,
        "literals": [
          "solidity",
          "0.6",
          ".12"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:26"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 7291,
        "linearizedBaseContracts": [
          7291
        ],
        "name": "MockUniswapV2Router02IUniswapV2Factory",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 7240,
            "name": "PairCreated",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7239,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7232,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "token0",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7240,
                  "src": "96:22:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7231,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "96:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7234,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "token1",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7240,
                  "src": "120:22:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7233,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "120:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7236,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "pair",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7240,
                  "src": "144:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7235,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "144:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7238,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7240,
                  "src": "158:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7237,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "158:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "95:68:26"
            },
            "src": "78:86:26"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "017e7e58",
            "id": 7245,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "feeTo",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7241,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "182:2:26"
            },
            "returnParameters": {
              "id": 7244,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7243,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7245,
                  "src": "208:7:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7242,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "208:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "207:9:26"
            },
            "scope": 7291,
            "src": "168:49:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "094b7415",
            "id": 7250,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "feeToSetter",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7246,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "241:2:26"
            },
            "returnParameters": {
              "id": 7249,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7248,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7250,
                  "src": "267:7:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7247,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "267:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "266:9:26"
            },
            "scope": 7291,
            "src": "221:55:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "e6a43905",
            "id": 7259,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getPair",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7255,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7252,
                  "mutability": "mutable",
                  "name": "tokenA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7259,
                  "src": "297:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7251,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "297:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7254,
                  "mutability": "mutable",
                  "name": "tokenB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7259,
                  "src": "313:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7253,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "313:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "296:32:26"
            },
            "returnParameters": {
              "id": 7258,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7257,
                  "mutability": "mutable",
                  "name": "pair",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7259,
                  "src": "352:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7256,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "352:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "351:14:26"
            },
            "scope": 7291,
            "src": "280:86:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "1e3dd18b",
            "id": 7266,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "allPairs",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7262,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7261,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7266,
                  "src": "388:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7260,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "388:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "387:6:26"
            },
            "returnParameters": {
              "id": 7265,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7264,
                  "mutability": "mutable",
                  "name": "pair",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7266,
                  "src": "417:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7263,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "417:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "416:14:26"
            },
            "scope": 7291,
            "src": "370:61:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "574f2ba3",
            "id": 7271,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "allPairsLength",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7267,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "458:2:26"
            },
            "returnParameters": {
              "id": 7270,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7269,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7271,
                  "src": "484:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7268,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "484:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "483:6:26"
            },
            "scope": 7291,
            "src": "435:55:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "c9c65396",
            "id": 7280,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createPair",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7276,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7273,
                  "mutability": "mutable",
                  "name": "tokenA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7280,
                  "src": "514:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7272,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "514:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7275,
                  "mutability": "mutable",
                  "name": "tokenB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7280,
                  "src": "530:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7274,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "530:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "513:32:26"
            },
            "returnParameters": {
              "id": 7279,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7278,
                  "mutability": "mutable",
                  "name": "pair",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7280,
                  "src": "564:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7277,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "564:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "563:14:26"
            },
            "scope": 7291,
            "src": "494:84:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "f46901ed",
            "id": 7285,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setFeeTo",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7283,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7282,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7285,
                  "src": "600:7:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7281,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "600:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "599:9:26"
            },
            "returnParameters": {
              "id": 7284,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "617:0:26"
            },
            "scope": 7291,
            "src": "582:36:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "a2e74af6",
            "id": 7290,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setFeeToSetter",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7288,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7287,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7290,
                  "src": "646:7:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7286,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "646:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "645:9:26"
            },
            "returnParameters": {
              "id": 7289,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "663:0:26"
            },
            "scope": 7291,
            "src": "622:42:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 10726,
        "src": "25:641:26"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 7531,
        "linearizedBaseContracts": [
          7531
        ],
        "name": "MockUniswapV2Router02IUniswapV2Pair",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 7299,
            "name": "Approval",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7298,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7293,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7299,
                  "src": "733:21:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7292,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "733:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7295,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7299,
                  "src": "756:23:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7294,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "756:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7297,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7299,
                  "src": "781:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7296,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "781:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "732:60:26"
            },
            "src": "718:75:26"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7307,
            "name": "Transfer",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7306,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7301,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "from",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7307,
                  "src": "811:20:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7300,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "811:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7303,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7307,
                  "src": "833:18:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7302,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "833:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7305,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7307,
                  "src": "853:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7304,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "853:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "810:54:26"
            },
            "src": "796:69:26"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "06fdde03",
            "id": 7312,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "name",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7308,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "882:2:26"
            },
            "returnParameters": {
              "id": 7311,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7310,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7312,
                  "src": "908:13:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7309,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "908:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "907:15:26"
            },
            "scope": 7531,
            "src": "869:54:26",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "95d89b41",
            "id": 7317,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "symbol",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7313,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "942:2:26"
            },
            "returnParameters": {
              "id": 7316,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7315,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7317,
                  "src": "968:13:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7314,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "968:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "967:15:26"
            },
            "scope": 7531,
            "src": "927:56:26",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "313ce567",
            "id": 7322,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "decimals",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7318,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1004:2:26"
            },
            "returnParameters": {
              "id": 7321,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7320,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7322,
                  "src": "1030:5:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 7319,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "1030:5:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1029:7:26"
            },
            "scope": 7531,
            "src": "987:50:26",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "18160ddd",
            "id": 7327,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "totalSupply",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7323,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1061:2:26"
            },
            "returnParameters": {
              "id": 7326,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7325,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7327,
                  "src": "1087:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7324,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1087:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1086:6:26"
            },
            "scope": 7531,
            "src": "1041:52:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "70a08231",
            "id": 7334,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "balanceOf",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7330,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7329,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7334,
                  "src": "1116:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7328,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1116:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1115:15:26"
            },
            "returnParameters": {
              "id": 7333,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7332,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7334,
                  "src": "1154:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7331,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1154:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1153:6:26"
            },
            "scope": 7531,
            "src": "1097:63:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "dd62ed3e",
            "id": 7343,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "allowance",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7339,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7336,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7343,
                  "src": "1183:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7335,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1183:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7338,
                  "mutability": "mutable",
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7343,
                  "src": "1198:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7337,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1198:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1182:32:26"
            },
            "returnParameters": {
              "id": 7342,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7341,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7343,
                  "src": "1238:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7340,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1238:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1237:6:26"
            },
            "scope": 7531,
            "src": "1164:80:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "095ea7b3",
            "id": 7352,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "approve",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7348,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7345,
                  "mutability": "mutable",
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7352,
                  "src": "1265:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7344,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1265:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7347,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7352,
                  "src": "1282:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7346,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1282:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1264:29:26"
            },
            "returnParameters": {
              "id": 7351,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7350,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7352,
                  "src": "1312:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7349,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1312:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1311:6:26"
            },
            "scope": 7531,
            "src": "1248:70:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "a9059cbb",
            "id": 7361,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "transfer",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7357,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7354,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7361,
                  "src": "1340:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7353,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1340:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7356,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7361,
                  "src": "1352:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7355,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1352:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1339:24:26"
            },
            "returnParameters": {
              "id": 7360,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7359,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7361,
                  "src": "1382:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7358,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1382:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1381:6:26"
            },
            "scope": 7531,
            "src": "1322:66:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "23b872dd",
            "id": 7372,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "transferFrom",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7368,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7363,
                  "mutability": "mutable",
                  "name": "from",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7372,
                  "src": "1419:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7362,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1419:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7365,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7372,
                  "src": "1437:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7364,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1437:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7367,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7372,
                  "src": "1453:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7366,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1453:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1413:54:26"
            },
            "returnParameters": {
              "id": 7371,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7370,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7372,
                  "src": "1486:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7369,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1486:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1485:6:26"
            },
            "scope": 7531,
            "src": "1392:100:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "3644e515",
            "id": 7377,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "DOMAIN_SEPARATOR",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7373,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1521:2:26"
            },
            "returnParameters": {
              "id": 7376,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7375,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7377,
                  "src": "1547:7:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7374,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1547:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1546:9:26"
            },
            "scope": 7531,
            "src": "1496:60:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "30adf81f",
            "id": 7382,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "PERMIT_TYPEHASH",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7378,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1584:2:26"
            },
            "returnParameters": {
              "id": 7381,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7380,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7382,
                  "src": "1610:7:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7379,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1610:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1609:9:26"
            },
            "scope": 7531,
            "src": "1560:59:26",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "7ecebe00",
            "id": 7389,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "nonces",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7385,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7384,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7389,
                  "src": "1639:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7383,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1639:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1638:15:26"
            },
            "returnParameters": {
              "id": 7388,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7387,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7389,
                  "src": "1677:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7386,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1677:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1676:6:26"
            },
            "scope": 7531,
            "src": "1623:60:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "d505accf",
            "id": 7406,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "permit",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7404,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7391,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7406,
                  "src": "1708:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7390,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1708:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7393,
                  "mutability": "mutable",
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7406,
                  "src": "1727:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7392,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1727:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7395,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7406,
                  "src": "1748:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7394,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1748:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7397,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7406,
                  "src": "1764:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7396,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1764:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7399,
                  "mutability": "mutable",
                  "name": "v",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7406,
                  "src": "1783:7:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 7398,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "1783:5:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7401,
                  "mutability": "mutable",
                  "name": "r",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7406,
                  "src": "1796:9:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7400,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1796:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7403,
                  "mutability": "mutable",
                  "name": "s",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7406,
                  "src": "1811:9:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7402,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1811:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1702:122:26"
            },
            "returnParameters": {
              "id": 7405,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1833:0:26"
            },
            "scope": 7531,
            "src": "1687:147:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7414,
            "name": "Mint",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7413,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7408,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "sender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7414,
                  "src": "1849:22:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7407,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1849:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7410,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount0",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7414,
                  "src": "1873:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7409,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1873:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7412,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount1",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7414,
                  "src": "1887:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7411,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1887:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1848:52:26"
            },
            "src": "1838:63:26"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7424,
            "name": "Burn",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7423,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7416,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "sender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7424,
                  "src": "1915:22:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7415,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1915:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7418,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount0",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7424,
                  "src": "1939:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7417,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1939:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7420,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount1",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7424,
                  "src": "1953:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7419,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1953:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7422,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7424,
                  "src": "1967:18:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7421,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1967:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1914:72:26"
            },
            "src": "1904:83:26"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7438,
            "name": "Swap",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7437,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7426,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "sender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7438,
                  "src": "2006:22:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7425,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2006:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7428,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount0In",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7438,
                  "src": "2034:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7427,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2034:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7430,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount1In",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7438,
                  "src": "2054:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7429,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2054:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7432,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount0Out",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7438,
                  "src": "2074:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7431,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2074:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7434,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount1Out",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7438,
                  "src": "2095:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7433,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2095:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7436,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7438,
                  "src": "2116:18:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7435,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2116:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2000:138:26"
            },
            "src": "1990:149:26"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7444,
            "name": "Sync",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7443,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7440,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "reserve0",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7444,
                  "src": "2153:16:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint112",
                    "typeString": "uint112"
                  },
                  "typeName": {
                    "id": 7439,
                    "name": "uint112",
                    "nodeType": "ElementaryTypeName",
                    "src": "2153:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint112",
                      "typeString": "uint112"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7442,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "reserve1",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7444,
                  "src": "2171:16:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint112",
                    "typeString": "uint112"
                  },
                  "typeName": {
                    "id": 7441,
                    "name": "uint112",
                    "nodeType": "ElementaryTypeName",
                    "src": "2171:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint112",
                      "typeString": "uint112"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2152:36:26"
            },
            "src": "2142:47:26"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "ba9a7a56",
            "id": 7449,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "MINIMUM_LIQUIDITY",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7445,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2219:2:26"
            },
            "returnParameters": {
              "id": 7448,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7447,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7449,
                  "src": "2245:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7446,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2245:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2244:6:26"
            },
            "scope": 7531,
            "src": "2193:58:26",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "c45a0155",
            "id": 7454,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "factory",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7450,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2271:2:26"
            },
            "returnParameters": {
              "id": 7453,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7452,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7454,
                  "src": "2297:7:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7451,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2297:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2296:9:26"
            },
            "scope": 7531,
            "src": "2255:51:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "0dfe1681",
            "id": 7459,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "token0",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7455,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2325:2:26"
            },
            "returnParameters": {
              "id": 7458,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7457,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7459,
                  "src": "2351:7:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7456,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2351:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2350:9:26"
            },
            "scope": 7531,
            "src": "2310:50:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "d21220a7",
            "id": 7464,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "token1",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7460,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2379:2:26"
            },
            "returnParameters": {
              "id": 7463,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7462,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7464,
                  "src": "2405:7:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7461,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2405:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2404:9:26"
            },
            "scope": 7531,
            "src": "2364:50:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "0902f1ac",
            "id": 7473,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getReserves",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7465,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2438:2:26"
            },
            "returnParameters": {
              "id": 7472,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7467,
                  "mutability": "mutable",
                  "name": "reserve0",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7473,
                  "src": "2483:16:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint112",
                    "typeString": "uint112"
                  },
                  "typeName": {
                    "id": 7466,
                    "name": "uint112",
                    "nodeType": "ElementaryTypeName",
                    "src": "2483:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint112",
                      "typeString": "uint112"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7469,
                  "mutability": "mutable",
                  "name": "reserve1",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7473,
                  "src": "2507:16:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint112",
                    "typeString": "uint112"
                  },
                  "typeName": {
                    "id": 7468,
                    "name": "uint112",
                    "nodeType": "ElementaryTypeName",
                    "src": "2507:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint112",
                      "typeString": "uint112"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7471,
                  "mutability": "mutable",
                  "name": "blockTimestampLast",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7473,
                  "src": "2531:25:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 7470,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2531:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2475:87:26"
            },
            "scope": 7531,
            "src": "2418:145:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "5909c0d5",
            "id": 7478,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "price0CumulativeLast",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7474,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2596:2:26"
            },
            "returnParameters": {
              "id": 7477,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7476,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7478,
                  "src": "2622:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7475,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2622:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2621:6:26"
            },
            "scope": 7531,
            "src": "2567:61:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "5a3d5493",
            "id": 7483,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "price1CumulativeLast",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7479,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2661:2:26"
            },
            "returnParameters": {
              "id": 7482,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7481,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7483,
                  "src": "2687:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7480,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2687:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2686:6:26"
            },
            "scope": 7531,
            "src": "2632:61:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "7464fc3d",
            "id": 7488,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "kLast",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7484,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2711:2:26"
            },
            "returnParameters": {
              "id": 7487,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7486,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7488,
                  "src": "2737:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7485,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2737:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2736:6:26"
            },
            "scope": 7531,
            "src": "2697:46:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "6a627842",
            "id": 7495,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "mint",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7491,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7490,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7495,
                  "src": "2761:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7489,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2761:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2760:12:26"
            },
            "returnParameters": {
              "id": 7494,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7493,
                  "mutability": "mutable",
                  "name": "liquidity",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7495,
                  "src": "2791:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7492,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2791:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2790:16:26"
            },
            "scope": 7531,
            "src": "2747:60:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "89afcb44",
            "id": 7504,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "burn",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7498,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7497,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7504,
                  "src": "2825:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7496,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2825:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2824:12:26"
            },
            "returnParameters": {
              "id": 7503,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7500,
                  "mutability": "mutable",
                  "name": "amount0",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7504,
                  "src": "2855:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7499,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2855:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7502,
                  "mutability": "mutable",
                  "name": "amount1",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7504,
                  "src": "2869:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7501,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2869:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2854:28:26"
            },
            "scope": 7531,
            "src": "2811:72:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "022c0d9f",
            "id": 7515,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "swap",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7513,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7506,
                  "mutability": "mutable",
                  "name": "amount0Out",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7515,
                  "src": "2906:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7505,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2906:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7508,
                  "mutability": "mutable",
                  "name": "amount1Out",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7515,
                  "src": "2927:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7507,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2927:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7510,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7515,
                  "src": "2948:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7509,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2948:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7512,
                  "mutability": "mutable",
                  "name": "data",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7515,
                  "src": "2964:19:26",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 7511,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2964:5:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2900:87:26"
            },
            "returnParameters": {
              "id": 7514,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2996:0:26"
            },
            "scope": 7531,
            "src": "2887:110:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "bc25cf77",
            "id": 7520,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "skim",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7518,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7517,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7520,
                  "src": "3015:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7516,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3015:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3014:12:26"
            },
            "returnParameters": {
              "id": 7519,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3035:0:26"
            },
            "scope": 7531,
            "src": "3001:35:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "fff6cae9",
            "id": 7523,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "sync",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7521,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3053:2:26"
            },
            "returnParameters": {
              "id": 7522,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3064:0:26"
            },
            "scope": 7531,
            "src": "3040:25:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "485cc955",
            "id": 7530,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "initialize",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7528,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7525,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7530,
                  "src": "3089:7:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7524,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3089:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7527,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7530,
                  "src": "3098:7:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7526,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3098:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3088:18:26"
            },
            "returnParameters": {
              "id": 7529,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3115:0:26"
            },
            "scope": 7531,
            "src": "3069:47:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 10726,
        "src": "668:2450:26"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 7837,
        "linearizedBaseContracts": [
          7837
        ],
        "name": "MockUniswapV2Router02IUniswapV2Router01",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": null,
            "documentation": null,
            "functionSelector": "c45a0155",
            "id": 7536,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "factory",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7532,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3190:2:26"
            },
            "returnParameters": {
              "id": 7535,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7534,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7536,
                  "src": "3216:7:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7533,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3216:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3215:9:26"
            },
            "scope": 7837,
            "src": "3174:51:26",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "ad5c4648",
            "id": 7541,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "WETH",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7537,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3242:2:26"
            },
            "returnParameters": {
              "id": 7540,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7539,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7541,
                  "src": "3268:7:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7538,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3268:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3267:9:26"
            },
            "scope": 7837,
            "src": "3229:48:26",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "e8e33700",
            "id": 7566,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "addLiquidity",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7558,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7543,
                  "mutability": "mutable",
                  "name": "tokenA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7566,
                  "src": "3308:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7542,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3308:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7545,
                  "mutability": "mutable",
                  "name": "tokenB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7566,
                  "src": "3328:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7544,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3328:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7547,
                  "mutability": "mutable",
                  "name": "amountADesired",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7566,
                  "src": "3348:19:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7546,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3348:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7549,
                  "mutability": "mutable",
                  "name": "amountBDesired",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7566,
                  "src": "3373:19:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7548,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3373:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7551,
                  "mutability": "mutable",
                  "name": "amountAMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7566,
                  "src": "3398:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7550,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3398:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7553,
                  "mutability": "mutable",
                  "name": "amountBMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7566,
                  "src": "3419:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7552,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3419:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7555,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7566,
                  "src": "3440:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7554,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3440:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7557,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7566,
                  "src": "3456:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7556,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3456:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3302:171:26"
            },
            "returnParameters": {
              "id": 7565,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7560,
                  "mutability": "mutable",
                  "name": "amountA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7566,
                  "src": "3507:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7559,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3507:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7562,
                  "mutability": "mutable",
                  "name": "amountB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7566,
                  "src": "3527:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7561,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3527:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7564,
                  "mutability": "mutable",
                  "name": "liquidity",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7566,
                  "src": "3547:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7563,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3547:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3499:68:26"
            },
            "scope": 7837,
            "src": "3281:287:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "f305d719",
            "id": 7587,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "addLiquidityETH",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7579,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7568,
                  "mutability": "mutable",
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7587,
                  "src": "3602:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7567,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3602:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7570,
                  "mutability": "mutable",
                  "name": "amountTokenDesired",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7587,
                  "src": "3621:23:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7569,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3621:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7572,
                  "mutability": "mutable",
                  "name": "amountTokenMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7587,
                  "src": "3650:19:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7571,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3650:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7574,
                  "mutability": "mutable",
                  "name": "amountETHMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7587,
                  "src": "3675:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7573,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3675:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7576,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7587,
                  "src": "3698:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7575,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3698:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7578,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7587,
                  "src": "3714:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7577,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3714:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3596:135:26"
            },
            "returnParameters": {
              "id": 7586,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7581,
                  "mutability": "mutable",
                  "name": "amountToken",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7587,
                  "src": "3777:16:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7580,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3777:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7583,
                  "mutability": "mutable",
                  "name": "amountETH",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7587,
                  "src": "3801:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7582,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3801:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7585,
                  "mutability": "mutable",
                  "name": "liquidity",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7587,
                  "src": "3823:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7584,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3823:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3769:74:26"
            },
            "scope": 7837,
            "src": "3572:272:26",
            "stateMutability": "payable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "baa2abde",
            "id": 7608,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "removeLiquidity",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7602,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7589,
                  "mutability": "mutable",
                  "name": "tokenA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7608,
                  "src": "3878:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7588,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3878:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7591,
                  "mutability": "mutable",
                  "name": "tokenB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7608,
                  "src": "3898:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7590,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3898:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7593,
                  "mutability": "mutable",
                  "name": "liquidity",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7608,
                  "src": "3918:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7592,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3918:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7595,
                  "mutability": "mutable",
                  "name": "amountAMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7608,
                  "src": "3938:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7594,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3938:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7597,
                  "mutability": "mutable",
                  "name": "amountBMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7608,
                  "src": "3959:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7596,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3959:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7599,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7608,
                  "src": "3980:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7598,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3980:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7601,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7608,
                  "src": "3996:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7600,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3996:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3872:141:26"
            },
            "returnParameters": {
              "id": 7607,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7604,
                  "mutability": "mutable",
                  "name": "amountA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7608,
                  "src": "4032:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7603,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4032:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7606,
                  "mutability": "mutable",
                  "name": "amountB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7608,
                  "src": "4046:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7605,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4046:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4031:28:26"
            },
            "scope": 7837,
            "src": "3848:212:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "02751cec",
            "id": 7627,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "removeLiquidityETH",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7621,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7610,
                  "mutability": "mutable",
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7627,
                  "src": "4097:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7609,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4097:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7612,
                  "mutability": "mutable",
                  "name": "liquidity",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7627,
                  "src": "4116:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7611,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4116:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7614,
                  "mutability": "mutable",
                  "name": "amountTokenMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7627,
                  "src": "4136:19:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7613,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4136:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7616,
                  "mutability": "mutable",
                  "name": "amountETHMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7627,
                  "src": "4161:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7615,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4161:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7618,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7627,
                  "src": "4184:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7617,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4184:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7620,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7627,
                  "src": "4200:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7619,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4200:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4091:126:26"
            },
            "returnParameters": {
              "id": 7626,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7623,
                  "mutability": "mutable",
                  "name": "amountToken",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7627,
                  "src": "4236:16:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7622,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4236:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7625,
                  "mutability": "mutable",
                  "name": "amountETH",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7627,
                  "src": "4254:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7624,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4254:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4235:34:26"
            },
            "scope": 7837,
            "src": "4064:206:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "2195995c",
            "id": 7656,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "removeLiquidityWithPermit",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7650,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7629,
                  "mutability": "mutable",
                  "name": "tokenA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7656,
                  "src": "4314:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7628,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4314:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7631,
                  "mutability": "mutable",
                  "name": "tokenB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7656,
                  "src": "4334:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7630,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4334:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7633,
                  "mutability": "mutable",
                  "name": "liquidity",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7656,
                  "src": "4354:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7632,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4354:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7635,
                  "mutability": "mutable",
                  "name": "amountAMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7656,
                  "src": "4374:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7634,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4374:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7637,
                  "mutability": "mutable",
                  "name": "amountBMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7656,
                  "src": "4395:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7636,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4395:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7639,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7656,
                  "src": "4416:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7638,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4416:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7641,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7656,
                  "src": "4432:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7640,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4432:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7643,
                  "mutability": "mutable",
                  "name": "approveMax",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7656,
                  "src": "4451:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7642,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "4451:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7645,
                  "mutability": "mutable",
                  "name": "v",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7656,
                  "src": "4472:7:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 7644,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "4472:5:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7647,
                  "mutability": "mutable",
                  "name": "r",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7656,
                  "src": "4485:9:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7646,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4485:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7649,
                  "mutability": "mutable",
                  "name": "s",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7656,
                  "src": "4500:9:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7648,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4500:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4308:205:26"
            },
            "returnParameters": {
              "id": 7655,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7652,
                  "mutability": "mutable",
                  "name": "amountA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7656,
                  "src": "4532:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7651,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4532:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7654,
                  "mutability": "mutable",
                  "name": "amountB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7656,
                  "src": "4546:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7653,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4546:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4531:28:26"
            },
            "scope": 7837,
            "src": "4274:286:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "ded9382a",
            "id": 7683,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "removeLiquidityETHWithPermit",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7677,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7658,
                  "mutability": "mutable",
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7683,
                  "src": "4607:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7657,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4607:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7660,
                  "mutability": "mutable",
                  "name": "liquidity",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7683,
                  "src": "4626:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7659,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4626:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7662,
                  "mutability": "mutable",
                  "name": "amountTokenMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7683,
                  "src": "4646:19:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7661,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4646:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7664,
                  "mutability": "mutable",
                  "name": "amountETHMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7683,
                  "src": "4671:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7663,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4671:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7666,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7683,
                  "src": "4694:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7665,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4694:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7668,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7683,
                  "src": "4710:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7667,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4710:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7670,
                  "mutability": "mutable",
                  "name": "approveMax",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7683,
                  "src": "4729:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7669,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "4729:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7672,
                  "mutability": "mutable",
                  "name": "v",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7683,
                  "src": "4750:7:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 7671,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "4750:5:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7674,
                  "mutability": "mutable",
                  "name": "r",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7683,
                  "src": "4763:9:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7673,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4763:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7676,
                  "mutability": "mutable",
                  "name": "s",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7683,
                  "src": "4778:9:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7675,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4778:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4601:190:26"
            },
            "returnParameters": {
              "id": 7682,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7679,
                  "mutability": "mutable",
                  "name": "amountToken",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7683,
                  "src": "4810:16:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7678,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4810:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7681,
                  "mutability": "mutable",
                  "name": "amountETH",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7683,
                  "src": "4828:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7680,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4828:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4809:34:26"
            },
            "scope": 7837,
            "src": "4564:280:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "38ed1739",
            "id": 7700,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "swapExactTokensForTokens",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7695,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7685,
                  "mutability": "mutable",
                  "name": "amountIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7700,
                  "src": "4887:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7684,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4887:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7687,
                  "mutability": "mutable",
                  "name": "amountOutMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7700,
                  "src": "4906:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7686,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4906:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7690,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7700,
                  "src": "4929:23:26",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7688,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "4929:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 7689,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "4929:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7692,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7700,
                  "src": "4958:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7691,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4958:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7694,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7700,
                  "src": "4974:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7693,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4974:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4881:110:26"
            },
            "returnParameters": {
              "id": 7699,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7698,
                  "mutability": "mutable",
                  "name": "amounts",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7700,
                  "src": "5010:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7696,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "5010:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 7697,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "5010:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5009:23:26"
            },
            "scope": 7837,
            "src": "4848:185:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "8803dbee",
            "id": 7717,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "swapTokensForExactTokens",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7712,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7702,
                  "mutability": "mutable",
                  "name": "amountOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7717,
                  "src": "5076:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7701,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5076:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7704,
                  "mutability": "mutable",
                  "name": "amountInMax",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7717,
                  "src": "5096:16:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7703,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5096:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7707,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7717,
                  "src": "5118:23:26",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7705,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "5118:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 7706,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "5118:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7709,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7717,
                  "src": "5147:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7708,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5147:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7711,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7717,
                  "src": "5163:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7710,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5163:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5070:110:26"
            },
            "returnParameters": {
              "id": 7716,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7715,
                  "mutability": "mutable",
                  "name": "amounts",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7717,
                  "src": "5199:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7713,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "5199:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 7714,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "5199:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5198:23:26"
            },
            "scope": 7837,
            "src": "5037:185:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "7ff36ab5",
            "id": 7732,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "swapExactETHForTokens",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7727,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7719,
                  "mutability": "mutable",
                  "name": "amountOutMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7732,
                  "src": "5262:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7718,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5262:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7722,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7732,
                  "src": "5285:23:26",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7720,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "5285:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 7721,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "5285:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7724,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7732,
                  "src": "5314:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7723,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5314:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7726,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7732,
                  "src": "5330:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7725,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5330:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5256:91:26"
            },
            "returnParameters": {
              "id": 7731,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7730,
                  "mutability": "mutable",
                  "name": "amounts",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7732,
                  "src": "5374:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7728,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "5374:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 7729,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "5374:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5373:23:26"
            },
            "scope": 7837,
            "src": "5226:171:26",
            "stateMutability": "payable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "4a25d94a",
            "id": 7749,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "swapTokensForExactETH",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7744,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7734,
                  "mutability": "mutable",
                  "name": "amountOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7749,
                  "src": "5437:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7733,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5437:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7736,
                  "mutability": "mutable",
                  "name": "amountInMax",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7749,
                  "src": "5457:16:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7735,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5457:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7739,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7749,
                  "src": "5479:23:26",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7737,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "5479:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 7738,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "5479:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7741,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7749,
                  "src": "5508:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7740,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5508:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7743,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7749,
                  "src": "5524:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7742,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5524:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5431:110:26"
            },
            "returnParameters": {
              "id": 7748,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7747,
                  "mutability": "mutable",
                  "name": "amounts",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7749,
                  "src": "5560:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7745,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "5560:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 7746,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "5560:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5559:23:26"
            },
            "scope": 7837,
            "src": "5401:182:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "18cbafe5",
            "id": 7766,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "swapExactTokensForETH",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7761,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7751,
                  "mutability": "mutable",
                  "name": "amountIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7766,
                  "src": "5623:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7750,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5623:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7753,
                  "mutability": "mutable",
                  "name": "amountOutMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7766,
                  "src": "5642:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7752,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5642:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7756,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7766,
                  "src": "5665:23:26",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7754,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "5665:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 7755,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "5665:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7758,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7766,
                  "src": "5694:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7757,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5694:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7760,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7766,
                  "src": "5710:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7759,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5710:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5617:110:26"
            },
            "returnParameters": {
              "id": 7765,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7764,
                  "mutability": "mutable",
                  "name": "amounts",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7766,
                  "src": "5746:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7762,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "5746:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 7763,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "5746:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5745:23:26"
            },
            "scope": 7837,
            "src": "5587:182:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "fb3bdb41",
            "id": 7781,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "swapETHForExactTokens",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7776,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7768,
                  "mutability": "mutable",
                  "name": "amountOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7781,
                  "src": "5809:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7767,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5809:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7771,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7781,
                  "src": "5829:23:26",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7769,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "5829:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 7770,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "5829:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7773,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7781,
                  "src": "5858:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7772,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5858:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7775,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7781,
                  "src": "5874:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7774,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5874:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5803:88:26"
            },
            "returnParameters": {
              "id": 7780,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7779,
                  "mutability": "mutable",
                  "name": "amounts",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7781,
                  "src": "5918:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7777,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "5918:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 7778,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "5918:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5917:23:26"
            },
            "scope": 7837,
            "src": "5773:168:26",
            "stateMutability": "payable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "ad615dec",
            "id": 7792,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "quote",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7788,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7783,
                  "mutability": "mutable",
                  "name": "amountA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7792,
                  "src": "5965:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7782,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5965:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7785,
                  "mutability": "mutable",
                  "name": "reserveA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7792,
                  "src": "5983:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7784,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5983:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7787,
                  "mutability": "mutable",
                  "name": "reserveB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7792,
                  "src": "6002:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7786,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6002:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5959:60:26"
            },
            "returnParameters": {
              "id": 7791,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7790,
                  "mutability": "mutable",
                  "name": "amountB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7792,
                  "src": "6043:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7789,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6043:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6042:14:26"
            },
            "scope": 7837,
            "src": "5945:112:26",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "054d50d4",
            "id": 7803,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getAmountOut",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7799,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7794,
                  "mutability": "mutable",
                  "name": "amountIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7803,
                  "src": "6088:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7793,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6088:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7796,
                  "mutability": "mutable",
                  "name": "reserveIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7803,
                  "src": "6107:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7795,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6107:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7798,
                  "mutability": "mutable",
                  "name": "reserveOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7803,
                  "src": "6127:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7797,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6127:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6082:64:26"
            },
            "returnParameters": {
              "id": 7802,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7801,
                  "mutability": "mutable",
                  "name": "amountOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7803,
                  "src": "6170:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7800,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6170:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6169:16:26"
            },
            "scope": 7837,
            "src": "6061:125:26",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "85f8c259",
            "id": 7814,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getAmountIn",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7810,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7805,
                  "mutability": "mutable",
                  "name": "amountOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7814,
                  "src": "6216:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7804,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6216:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7807,
                  "mutability": "mutable",
                  "name": "reserveIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7814,
                  "src": "6236:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7806,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6236:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7809,
                  "mutability": "mutable",
                  "name": "reserveOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7814,
                  "src": "6256:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7808,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6256:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6210:65:26"
            },
            "returnParameters": {
              "id": 7813,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7812,
                  "mutability": "mutable",
                  "name": "amountIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7814,
                  "src": "6299:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7811,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6299:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6298:15:26"
            },
            "scope": 7837,
            "src": "6190:124:26",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "d06ca61f",
            "id": 7825,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getAmountsOut",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7820,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7816,
                  "mutability": "mutable",
                  "name": "amountIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7825,
                  "src": "6341:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7815,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6341:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7819,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7825,
                  "src": "6356:23:26",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7817,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "6356:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 7818,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "6356:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6340:40:26"
            },
            "returnParameters": {
              "id": 7824,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7823,
                  "mutability": "mutable",
                  "name": "amounts",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7825,
                  "src": "6416:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7821,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "6416:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 7822,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "6416:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6415:23:26"
            },
            "scope": 7837,
            "src": "6318:121:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "1f00ca74",
            "id": 7836,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getAmountsIn",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7831,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7827,
                  "mutability": "mutable",
                  "name": "amountOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7836,
                  "src": "6465:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7826,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6465:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7830,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7836,
                  "src": "6481:23:26",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7828,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "6481:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 7829,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "6481:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6464:41:26"
            },
            "returnParameters": {
              "id": 7835,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7834,
                  "mutability": "mutable",
                  "name": "amounts",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7836,
                  "src": "6541:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7832,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "6541:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 7833,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "6541:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6540:23:26"
            },
            "scope": 7837,
            "src": "6443:121:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 10726,
        "src": "3120:3446:26"
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 7838,
              "name": "MockUniswapV2Router02IUniswapV2Router01",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7837,
              "src": "6621:39:26",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_MockUniswapV2Router02IUniswapV2Router01_$7837",
                "typeString": "contract MockUniswapV2Router02IUniswapV2Router01"
              }
            },
            "id": 7839,
            "nodeType": "InheritanceSpecifier",
            "src": "6621:39:26"
          }
        ],
        "contractDependencies": [
          7837
        ],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 7922,
        "linearizedBaseContracts": [
          7922,
          7837
        ],
        "name": "MockUniswapV2Router02IUniswapV2Router02",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": null,
            "documentation": null,
            "functionSelector": "af2979eb",
            "id": 7856,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "removeLiquidityETHSupportingFeeOnTransferTokens",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7852,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7841,
                  "mutability": "mutable",
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7856,
                  "src": "6727:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7840,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6727:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7843,
                  "mutability": "mutable",
                  "name": "liquidity",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7856,
                  "src": "6746:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7842,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6746:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7845,
                  "mutability": "mutable",
                  "name": "amountTokenMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7856,
                  "src": "6766:19:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7844,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6766:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7847,
                  "mutability": "mutable",
                  "name": "amountETHMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7856,
                  "src": "6791:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7846,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6791:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7849,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7856,
                  "src": "6814:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7848,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6814:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7851,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7856,
                  "src": "6830:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7850,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6830:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6721:126:26"
            },
            "returnParameters": {
              "id": 7855,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7854,
                  "mutability": "mutable",
                  "name": "amountETH",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7856,
                  "src": "6866:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7853,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6866:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6865:16:26"
            },
            "scope": 7922,
            "src": "6665:217:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "5b0d5984",
            "id": 7881,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7877,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7858,
                  "mutability": "mutable",
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7881,
                  "src": "6958:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7857,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6958:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7860,
                  "mutability": "mutable",
                  "name": "liquidity",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7881,
                  "src": "6977:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7859,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6977:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7862,
                  "mutability": "mutable",
                  "name": "amountTokenMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7881,
                  "src": "6997:19:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7861,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6997:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7864,
                  "mutability": "mutable",
                  "name": "amountETHMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7881,
                  "src": "7022:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7863,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7022:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7866,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7881,
                  "src": "7045:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7865,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "7045:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7868,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7881,
                  "src": "7061:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7867,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7061:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7870,
                  "mutability": "mutable",
                  "name": "approveMax",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7881,
                  "src": "7080:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7869,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "7080:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7872,
                  "mutability": "mutable",
                  "name": "v",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7881,
                  "src": "7101:7:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 7871,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "7101:5:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7874,
                  "mutability": "mutable",
                  "name": "r",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7881,
                  "src": "7114:9:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7873,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7114:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7876,
                  "mutability": "mutable",
                  "name": "s",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7881,
                  "src": "7129:9:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7875,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7129:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6952:190:26"
            },
            "returnParameters": {
              "id": 7880,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7879,
                  "mutability": "mutable",
                  "name": "amountETH",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7881,
                  "src": "7161:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7878,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7161:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7160:16:26"
            },
            "scope": 7922,
            "src": "6886:291:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "5c11d795",
            "id": 7895,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "swapExactTokensForTokensSupportingFeeOnTransferTokens",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7893,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7883,
                  "mutability": "mutable",
                  "name": "amountIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7895,
                  "src": "7249:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7882,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7249:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7885,
                  "mutability": "mutable",
                  "name": "amountOutMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7895,
                  "src": "7268:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7884,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7268:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7888,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7895,
                  "src": "7291:23:26",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7886,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "7291:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 7887,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "7291:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7890,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7895,
                  "src": "7320:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7889,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "7320:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7892,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7895,
                  "src": "7336:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7891,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7336:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7243:110:26"
            },
            "returnParameters": {
              "id": 7894,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7362:0:26"
            },
            "scope": 7922,
            "src": "7181:182:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "b6f9de95",
            "id": 7907,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "swapExactETHForTokensSupportingFeeOnTransferTokens",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7905,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7897,
                  "mutability": "mutable",
                  "name": "amountOutMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7907,
                  "src": "7432:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7896,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7432:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7900,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7907,
                  "src": "7455:23:26",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7898,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "7455:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 7899,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "7455:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7902,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7907,
                  "src": "7484:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7901,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "7484:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7904,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7907,
                  "src": "7500:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7903,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7500:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7426:91:26"
            },
            "returnParameters": {
              "id": 7906,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7534:0:26"
            },
            "scope": 7922,
            "src": "7367:168:26",
            "stateMutability": "payable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "791ac947",
            "id": 7921,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "swapExactTokensForETHSupportingFeeOnTransferTokens",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7919,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7909,
                  "mutability": "mutable",
                  "name": "amountIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7921,
                  "src": "7604:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7908,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7604:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7911,
                  "mutability": "mutable",
                  "name": "amountOutMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7921,
                  "src": "7623:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7910,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7623:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7914,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7921,
                  "src": "7646:23:26",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 7912,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "7646:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 7913,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "7646:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7916,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7921,
                  "src": "7675:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7915,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "7675:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7918,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7921,
                  "src": "7691:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7917,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7691:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7598:110:26"
            },
            "returnParameters": {
              "id": 7920,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7717:0:26"
            },
            "scope": 7922,
            "src": "7539:179:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 10726,
        "src": "6568:1152:26"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 8004,
        "linearizedBaseContracts": [
          8004
        ],
        "name": "IERC20",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 7930,
            "name": "Approval",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7929,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7924,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7930,
                  "src": "7758:21:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7923,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "7758:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7926,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7930,
                  "src": "7781:23:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7925,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "7781:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7928,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7930,
                  "src": "7806:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7927,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7806:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7757:60:26"
            },
            "src": "7743:75:26"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 7938,
            "name": "Transfer",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7937,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7932,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "from",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7938,
                  "src": "7836:20:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7931,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "7836:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7934,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7938,
                  "src": "7858:18:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7933,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "7858:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7936,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7938,
                  "src": "7878:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7935,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7878:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7835:54:26"
            },
            "src": "7821:69:26"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "06fdde03",
            "id": 7943,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "name",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7939,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7907:2:26"
            },
            "returnParameters": {
              "id": 7942,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7941,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7943,
                  "src": "7933:13:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7940,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "7933:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7932:15:26"
            },
            "scope": 8004,
            "src": "7894:54:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "95d89b41",
            "id": 7948,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "symbol",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7944,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7967:2:26"
            },
            "returnParameters": {
              "id": 7947,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7946,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7948,
                  "src": "7993:13:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7945,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "7993:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7992:15:26"
            },
            "scope": 8004,
            "src": "7952:56:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "313ce567",
            "id": 7953,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "decimals",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7949,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8029:2:26"
            },
            "returnParameters": {
              "id": 7952,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7951,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7953,
                  "src": "8055:5:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 7950,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "8055:5:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8054:7:26"
            },
            "scope": 8004,
            "src": "8012:50:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "18160ddd",
            "id": 7958,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "totalSupply",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7954,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8086:2:26"
            },
            "returnParameters": {
              "id": 7957,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7956,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7958,
                  "src": "8112:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7955,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "8112:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8111:6:26"
            },
            "scope": 8004,
            "src": "8066:52:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "70a08231",
            "id": 7965,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "balanceOf",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7961,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7960,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7965,
                  "src": "8141:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7959,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "8141:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8140:15:26"
            },
            "returnParameters": {
              "id": 7964,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7963,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7965,
                  "src": "8179:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7962,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "8179:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8178:6:26"
            },
            "scope": 8004,
            "src": "8122:63:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "dd62ed3e",
            "id": 7974,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "allowance",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7970,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7967,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7974,
                  "src": "8208:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7966,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "8208:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7969,
                  "mutability": "mutable",
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7974,
                  "src": "8223:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7968,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "8223:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8207:32:26"
            },
            "returnParameters": {
              "id": 7973,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7972,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7974,
                  "src": "8263:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7971,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "8263:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8262:6:26"
            },
            "scope": 8004,
            "src": "8189:80:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "095ea7b3",
            "id": 7983,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "approve",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7979,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7976,
                  "mutability": "mutable",
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7983,
                  "src": "8290:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7975,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "8290:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7978,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7983,
                  "src": "8307:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7977,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "8307:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8289:29:26"
            },
            "returnParameters": {
              "id": 7982,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7981,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7983,
                  "src": "8337:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7980,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "8337:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8336:6:26"
            },
            "scope": 8004,
            "src": "8273:70:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "a9059cbb",
            "id": 7992,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "transfer",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7988,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7985,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7992,
                  "src": "8365:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7984,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "8365:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7987,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7992,
                  "src": "8377:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7986,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "8377:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8364:24:26"
            },
            "returnParameters": {
              "id": 7991,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7990,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 7992,
                  "src": "8407:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7989,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "8407:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8406:6:26"
            },
            "scope": 8004,
            "src": "8347:66:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "23b872dd",
            "id": 8003,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "transferFrom",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 7999,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7994,
                  "mutability": "mutable",
                  "name": "from",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8003,
                  "src": "8444:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7993,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "8444:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7996,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8003,
                  "src": "8462:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7995,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "8462:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7998,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8003,
                  "src": "8478:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7997,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "8478:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8438:54:26"
            },
            "returnParameters": {
              "id": 8002,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8001,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8003,
                  "src": "8511:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 8000,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "8511:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8510:6:26"
            },
            "scope": 8004,
            "src": "8417:100:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 10726,
        "src": "7722:797:26"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 8022,
        "linearizedBaseContracts": [
          8022
        ],
        "name": "MockUniswapV2Router02IWETH",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": null,
            "documentation": null,
            "functionSelector": "d0e30db0",
            "id": 8007,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "deposit",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 8005,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8578:2:26"
            },
            "returnParameters": {
              "id": 8006,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8597:0:26"
            },
            "scope": 8022,
            "src": "8562:36:26",
            "stateMutability": "payable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "a9059cbb",
            "id": 8016,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "transfer",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 8012,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8009,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8016,
                  "src": "8620:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8008,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "8620:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8011,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8016,
                  "src": "8632:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8010,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "8632:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8619:24:26"
            },
            "returnParameters": {
              "id": 8015,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8014,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8016,
                  "src": "8662:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 8013,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "8662:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8661:6:26"
            },
            "scope": 8022,
            "src": "8602:66:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "2e1a7d4d",
            "id": 8021,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "withdraw",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 8019,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8018,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8021,
                  "src": "8690:4:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8017,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "8690:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8689:6:26"
            },
            "returnParameters": {
              "id": 8020,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8704:0:26"
            },
            "scope": 8022,
            "src": "8672:33:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 10726,
        "src": "8521:186:26"
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 8023,
              "name": "MockUniswapV2Router02IUniswapV2Router02",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7922,
              "src": "8743:39:26",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_MockUniswapV2Router02IUniswapV2Router02_$7922",
                "typeString": "contract MockUniswapV2Router02IUniswapV2Router02"
              }
            },
            "id": 8024,
            "nodeType": "InheritanceSpecifier",
            "src": "8743:39:26"
          }
        ],
        "contractDependencies": [
          7837,
          7922
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 10051,
        "linearizedBaseContracts": [
          10051,
          7922,
          7837
        ],
        "name": "MockUniswapV2Router02",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 8027,
            "libraryName": {
              "contractScope": null,
              "id": 8025,
              "name": "MockUniswapV2Router02SafeMath",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 10124,
              "src": "8793:29:26",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_MockUniswapV2Router02SafeMath_$10124",
                "typeString": "library MockUniswapV2Router02SafeMath"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "8787:45:26",
            "typeName": {
              "id": 8026,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "8827:4:26",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "baseFunctions": [
              7536
            ],
            "constant": false,
            "functionSelector": "c45a0155",
            "id": 8030,
            "mutability": "immutable",
            "name": "factory",
            "nodeType": "VariableDeclaration",
            "overrides": {
              "id": 8029,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "8861:8:26"
            },
            "scope": 10051,
            "src": "8836:41:26",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 8028,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "8836:7:26",
              "stateMutability": "nonpayable",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              7541
            ],
            "constant": false,
            "functionSelector": "ad5c4648",
            "id": 8033,
            "mutability": "immutable",
            "name": "WETH",
            "nodeType": "VariableDeclaration",
            "overrides": {
              "id": 8032,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "8906:8:26"
            },
            "scope": 10051,
            "src": "8881:38:26",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 8031,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "8881:7:26",
              "stateMutability": "nonpayable",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 8046,
              "nodeType": "Block",
              "src": "8955:82:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 8041,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 8038,
                          "name": "deadline",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8035,
                          "src": "8969:8:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 8039,
                            "name": "block",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -4,
                            "src": "8981:5:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_block",
                              "typeString": "block"
                            }
                          },
                          "id": 8040,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "timestamp",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "8981:15:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "8969:27:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "556e69737761705632526f757465723a2045585049524544",
                        "id": 8042,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "8998:26:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_1a9d3f3429d6f7d601e79a56388ebaeef879c178f6da38e08a509d9e3994b6a6",
                          "typeString": "literal_string \"UniswapV2Router: EXPIRED\""
                        },
                        "value": "UniswapV2Router: EXPIRED"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_1a9d3f3429d6f7d601e79a56388ebaeef879c178f6da38e08a509d9e3994b6a6",
                          "typeString": "literal_string \"UniswapV2Router: EXPIRED\""
                        }
                      ],
                      "id": 8037,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "8961:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8043,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8961:64:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8044,
                  "nodeType": "ExpressionStatement",
                  "src": "8961:64:26"
                },
                {
                  "id": 8045,
                  "nodeType": "PlaceholderStatement",
                  "src": "9031:1:26"
                }
              ]
            },
            "documentation": null,
            "id": 8047,
            "name": "ensure",
            "nodeType": "ModifierDefinition",
            "overrides": null,
            "parameters": {
              "id": 8036,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8035,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8047,
                  "src": "8940:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8034,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "8940:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8939:15:26"
            },
            "src": "8924:113:26",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 8062,
              "nodeType": "Block",
              "src": "9093:47:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8056,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 8054,
                      "name": "factory",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8030,
                      "src": "9099:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8055,
                      "name": "_factory",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8049,
                      "src": "9109:8:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "9099:18:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 8057,
                  "nodeType": "ExpressionStatement",
                  "src": "9099:18:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8060,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 8058,
                      "name": "WETH",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8033,
                      "src": "9123:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 8059,
                      "name": "_WETH",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8051,
                      "src": "9130:5:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "9123:12:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 8061,
                  "nodeType": "ExpressionStatement",
                  "src": "9123:12:26"
                }
              ]
            },
            "documentation": null,
            "id": 8063,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 8052,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8049,
                  "mutability": "mutable",
                  "name": "_factory",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8063,
                  "src": "9053:16:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8048,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "9053:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8051,
                  "mutability": "mutable",
                  "name": "_WETH",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8063,
                  "src": "9071:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8050,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "9071:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9052:33:26"
            },
            "returnParameters": {
              "id": 8053,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9093:0:26"
            },
            "scope": 10051,
            "src": "9041:99:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 8073,
              "nodeType": "Block",
              "src": "9171:92:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 8070,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 8067,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -15,
                            "src": "9184:3:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 8068,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "9184:10:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address_payable",
                            "typeString": "address payable"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 8069,
                          "name": "WETH",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8033,
                          "src": "9198:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "9184:18:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 8066,
                      "name": "assert",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -3,
                      "src": "9177:6:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 8071,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9177:26:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8072,
                  "nodeType": "ExpressionStatement",
                  "src": "9177:26:26"
                }
              ]
            },
            "documentation": null,
            "id": 8074,
            "implemented": true,
            "kind": "receive",
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 8064,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9151:2:26"
            },
            "returnParameters": {
              "id": 8065,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9171:0:26"
            },
            "scope": 10051,
            "src": "9144:119:26",
            "stateMutability": "payable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 8204,
              "nodeType": "Block",
              "src": "9509:1139:26",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 8104,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 8097,
                          "name": "tokenA",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8076,
                          "src": "9622:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8098,
                          "name": "tokenB",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8078,
                          "src": "9630:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8094,
                              "name": "factory",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8030,
                              "src": "9605:7:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 8093,
                            "name": "MockUniswapV2Router02IUniswapV2Factory",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7291,
                            "src": "9566:38:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IUniswapV2Factory_$7291_$",
                              "typeString": "type(contract MockUniswapV2Router02IUniswapV2Factory)"
                            }
                          },
                          "id": 8095,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "9566:47:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_MockUniswapV2Router02IUniswapV2Factory_$7291",
                            "typeString": "contract MockUniswapV2Router02IUniswapV2Factory"
                          }
                        },
                        "id": 8096,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "getPair",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7259,
                        "src": "9566:55:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$",
                          "typeString": "function (address,address) view external returns (address)"
                        }
                      },
                      "id": 8099,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "9566:71:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 8102,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "9649:1:26",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          }
                        ],
                        "id": 8101,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "9641:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": {
                          "id": 8100,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "9641:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": null,
                            "typeString": null
                          }
                        }
                      },
                      "id": 8103,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "9641:10:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_address_payable",
                        "typeString": "address payable"
                      }
                    },
                    "src": "9566:85:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 8114,
                  "nodeType": "IfStatement",
                  "src": "9562:180:26",
                  "trueBody": {
                    "id": 8113,
                    "nodeType": "Block",
                    "src": "9653:89:26",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8109,
                              "name": "tokenA",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8076,
                              "src": "9720:6:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8110,
                              "name": "tokenB",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8078,
                              "src": "9728:6:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 8106,
                                  "name": "factory",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8030,
                                  "src": "9700:7:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                ],
                                "id": 8105,
                                "name": "MockUniswapV2Router02IUniswapV2Factory",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7291,
                                "src": "9661:38:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IUniswapV2Factory_$7291_$",
                                  "typeString": "type(contract MockUniswapV2Router02IUniswapV2Factory)"
                                }
                              },
                              "id": 8107,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "9661:47:26",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_MockUniswapV2Router02IUniswapV2Factory_$7291",
                                "typeString": "contract MockUniswapV2Router02IUniswapV2Factory"
                              }
                            },
                            "id": 8108,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "createPair",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 7280,
                            "src": "9661:58:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$_t_address_$",
                              "typeString": "function (address,address) external returns (address)"
                            }
                          },
                          "id": 8111,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "9661:74:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 8112,
                        "nodeType": "ExpressionStatement",
                        "src": "9661:74:26"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    8116,
                    8118
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8116,
                      "mutability": "mutable",
                      "name": "reserveA",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 8204,
                      "src": "9748:13:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 8115,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "9748:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    },
                    {
                      "constant": false,
                      "id": 8118,
                      "mutability": "mutable",
                      "name": "reserveB",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 8204,
                      "src": "9763:13:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 8117,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "9763:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8125,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8121,
                        "name": "factory",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8030,
                        "src": "9836:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8122,
                        "name": "tokenA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8076,
                        "src": "9845:6:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8123,
                        "name": "tokenB",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8078,
                        "src": "9853:6:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 8119,
                        "name": "MockUniswapV2Router02UniswapV2Library",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10567,
                        "src": "9786:37:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                          "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                        }
                      },
                      "id": 8120,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getReserves",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10241,
                      "src": "9786:49:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$",
                        "typeString": "function (address,address,address) view returns (uint256,uint256)"
                      }
                    },
                    "id": 8124,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9786:74:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                      "typeString": "tuple(uint256,uint256)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "9747:113:26"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 8132,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 8128,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 8126,
                        "name": "reserveA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8116,
                        "src": "9870:8:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 8127,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9882:1:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "src": "9870:13:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 8131,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 8129,
                        "name": "reserveB",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8118,
                        "src": "9887:8:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 8130,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9899:1:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "src": "9887:13:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "9870:30:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 8202,
                    "nodeType": "Block",
                    "src": "9976:668:26",
                    "statements": [
                      {
                        "assignments": [
                          8143
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 8143,
                            "mutability": "mutable",
                            "name": "amountBOptimal",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 8202,
                            "src": "9984:19:26",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 8142,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "9984:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 8150,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8146,
                              "name": "amountADesired",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8080,
                              "src": "10058:14:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8147,
                              "name": "reserveA",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8116,
                              "src": "10074:8:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8148,
                              "name": "reserveB",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8118,
                              "src": "10084:8:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 8144,
                              "name": "MockUniswapV2Router02UniswapV2Library",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10567,
                              "src": "10014:37:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                                "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                              }
                            },
                            "id": 8145,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "quote",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 10280,
                            "src": "10014:43:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                              "typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
                            }
                          },
                          "id": 8149,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10014:79:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "9984:109:26"
                      },
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 8153,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 8151,
                            "name": "amountBOptimal",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8143,
                            "src": "10105:14:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<=",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 8152,
                            "name": "amountBDesired",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8082,
                            "src": "10123:14:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "10105:32:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 8200,
                          "nodeType": "Block",
                          "src": "10306:332:26",
                          "statements": [
                            {
                              "assignments": [
                                8171
                              ],
                              "declarations": [
                                {
                                  "constant": false,
                                  "id": 8171,
                                  "mutability": "mutable",
                                  "name": "amountAOptimal",
                                  "nodeType": "VariableDeclaration",
                                  "overrides": null,
                                  "scope": 8200,
                                  "src": "10316:19:26",
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "typeName": {
                                    "id": 8170,
                                    "name": "uint",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "10316:4:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "value": null,
                                  "visibility": "internal"
                                }
                              ],
                              "id": 8178,
                              "initialValue": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 8174,
                                    "name": "amountBDesired",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8082,
                                    "src": "10392:14:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 8175,
                                    "name": "reserveB",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8118,
                                    "src": "10408:8:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 8176,
                                    "name": "reserveA",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8116,
                                    "src": "10418:8:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 8172,
                                    "name": "MockUniswapV2Router02UniswapV2Library",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 10567,
                                    "src": "10348:37:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                                      "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                                    }
                                  },
                                  "id": 8173,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "quote",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 10280,
                                  "src": "10348:43:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                                    "typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
                                  }
                                },
                                "id": 8177,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "10348:79:26",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "VariableDeclarationStatement",
                              "src": "10316:111:26"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 8182,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "id": 8180,
                                      "name": "amountAOptimal",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8171,
                                      "src": "10444:14:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "<=",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "id": 8181,
                                      "name": "amountADesired",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8080,
                                      "src": "10462:14:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "src": "10444:32:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 8179,
                                  "name": "assert",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": -3,
                                  "src": "10437:6:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 8183,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "10437:40:26",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 8184,
                              "nodeType": "ExpressionStatement",
                              "src": "10437:40:26"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 8188,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "id": 8186,
                                      "name": "amountAOptimal",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8171,
                                      "src": "10495:14:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": ">=",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "id": 8187,
                                      "name": "amountAMin",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8084,
                                      "src": "10513:10:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "src": "10495:28:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f415f414d4f554e54",
                                    "id": 8189,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "string",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "10525:40:26",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_stringliteral_d1d32edc232bc1da2150d590567c5d6321ade8a80edcd2485e6068d018c7fd67",
                                      "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_A_AMOUNT\""
                                    },
                                    "value": "UniswapV2Router: INSUFFICIENT_A_AMOUNT"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    },
                                    {
                                      "typeIdentifier": "t_stringliteral_d1d32edc232bc1da2150d590567c5d6321ade8a80edcd2485e6068d018c7fd67",
                                      "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_A_AMOUNT\""
                                    }
                                  ],
                                  "id": 8185,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    -18,
                                    -18
                                  ],
                                  "referencedDeclaration": -18,
                                  "src": "10487:7:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                    "typeString": "function (bool,string memory) pure"
                                  }
                                },
                                "id": 8190,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "10487:79:26",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 8191,
                              "nodeType": "ExpressionStatement",
                              "src": "10487:79:26"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 8198,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "components": [
                                    {
                                      "argumentTypes": null,
                                      "id": 8192,
                                      "name": "amountA",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8089,
                                      "src": "10577:7:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 8193,
                                      "name": "amountB",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8091,
                                      "src": "10586:7:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "id": 8194,
                                  "isConstant": false,
                                  "isInlineArray": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "TupleExpression",
                                  "src": "10576:18:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                                    "typeString": "tuple(uint256,uint256)"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "components": [
                                    {
                                      "argumentTypes": null,
                                      "id": 8195,
                                      "name": "amountAOptimal",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8171,
                                      "src": "10598:14:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 8196,
                                      "name": "amountBDesired",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8082,
                                      "src": "10614:14:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "id": 8197,
                                  "isConstant": false,
                                  "isInlineArray": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "TupleExpression",
                                  "src": "10597:32:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                                    "typeString": "tuple(uint256,uint256)"
                                  }
                                },
                                "src": "10576:53:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 8199,
                              "nodeType": "ExpressionStatement",
                              "src": "10576:53:26"
                            }
                          ]
                        },
                        "id": 8201,
                        "nodeType": "IfStatement",
                        "src": "10101:537:26",
                        "trueBody": {
                          "id": 8169,
                          "nodeType": "Block",
                          "src": "10139:161:26",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 8157,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "id": 8155,
                                      "name": "amountBOptimal",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8143,
                                      "src": "10157:14:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": ">=",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "id": 8156,
                                      "name": "amountBMin",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8086,
                                      "src": "10175:10:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "src": "10157:28:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f425f414d4f554e54",
                                    "id": 8158,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "string",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "10187:40:26",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_stringliteral_508673fa99dd55571c7741114b40754785309d1a2171022cd7c5caaae38fc7b6",
                                      "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_B_AMOUNT\""
                                    },
                                    "value": "UniswapV2Router: INSUFFICIENT_B_AMOUNT"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    },
                                    {
                                      "typeIdentifier": "t_stringliteral_508673fa99dd55571c7741114b40754785309d1a2171022cd7c5caaae38fc7b6",
                                      "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_B_AMOUNT\""
                                    }
                                  ],
                                  "id": 8154,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    -18,
                                    -18
                                  ],
                                  "referencedDeclaration": -18,
                                  "src": "10149:7:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                    "typeString": "function (bool,string memory) pure"
                                  }
                                },
                                "id": 8159,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "10149:79:26",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 8160,
                              "nodeType": "ExpressionStatement",
                              "src": "10149:79:26"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 8167,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "components": [
                                    {
                                      "argumentTypes": null,
                                      "id": 8161,
                                      "name": "amountA",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8089,
                                      "src": "10239:7:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 8162,
                                      "name": "amountB",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8091,
                                      "src": "10248:7:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "id": 8163,
                                  "isConstant": false,
                                  "isInlineArray": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "TupleExpression",
                                  "src": "10238:18:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                                    "typeString": "tuple(uint256,uint256)"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "components": [
                                    {
                                      "argumentTypes": null,
                                      "id": 8164,
                                      "name": "amountADesired",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8080,
                                      "src": "10260:14:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 8165,
                                      "name": "amountBOptimal",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8143,
                                      "src": "10276:14:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "id": 8166,
                                  "isConstant": false,
                                  "isInlineArray": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "TupleExpression",
                                  "src": "10259:32:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                                    "typeString": "tuple(uint256,uint256)"
                                  }
                                },
                                "src": "10238:53:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 8168,
                              "nodeType": "ExpressionStatement",
                              "src": "10238:53:26"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "id": 8203,
                  "nodeType": "IfStatement",
                  "src": "9866:778:26",
                  "trueBody": {
                    "id": 8141,
                    "nodeType": "Block",
                    "src": "9902:68:26",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 8139,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "id": 8133,
                                "name": "amountA",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8089,
                                "src": "9911:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 8134,
                                "name": "amountB",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8091,
                                "src": "9920:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "id": 8135,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "TupleExpression",
                            "src": "9910:18:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                              "typeString": "tuple(uint256,uint256)"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "id": 8136,
                                "name": "amountADesired",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8080,
                                "src": "9932:14:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 8137,
                                "name": "amountBDesired",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8082,
                                "src": "9948:14:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "id": 8138,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "9931:32:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                              "typeString": "tuple(uint256,uint256)"
                            }
                          },
                          "src": "9910:53:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 8140,
                        "nodeType": "ExpressionStatement",
                        "src": "9910:53:26"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "id": 8205,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_addLiquidity",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 8087,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8076,
                  "mutability": "mutable",
                  "name": "tokenA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8205,
                  "src": "9324:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8075,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "9324:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8078,
                  "mutability": "mutable",
                  "name": "tokenB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8205,
                  "src": "9344:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8077,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "9344:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8080,
                  "mutability": "mutable",
                  "name": "amountADesired",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8205,
                  "src": "9364:19:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8079,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "9364:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8082,
                  "mutability": "mutable",
                  "name": "amountBDesired",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8205,
                  "src": "9389:19:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8081,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "9389:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8084,
                  "mutability": "mutable",
                  "name": "amountAMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8205,
                  "src": "9414:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8083,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "9414:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8086,
                  "mutability": "mutable",
                  "name": "amountBMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8205,
                  "src": "9435:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8085,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "9435:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9318:136:26"
            },
            "returnParameters": {
              "id": 8092,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8089,
                  "mutability": "mutable",
                  "name": "amountA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8205,
                  "src": "9481:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8088,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "9481:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8091,
                  "mutability": "mutable",
                  "name": "amountB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8205,
                  "src": "9495:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8090,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "9495:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9480:28:26"
            },
            "scope": 10051,
            "src": "9296:1352:26",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "baseFunctions": [
              7566
            ],
            "body": {
              "id": 8285,
              "nodeType": "Block",
              "src": "10987:504:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8245,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 8234,
                          "name": "amountA",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8228,
                          "src": "10994:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8235,
                          "name": "amountB",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8230,
                          "src": "11003:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 8236,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "10993:18:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 8238,
                          "name": "tokenA",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8207,
                          "src": "11035:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8239,
                          "name": "tokenB",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8209,
                          "src": "11049:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8240,
                          "name": "amountADesired",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8211,
                          "src": "11063:14:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8241,
                          "name": "amountBDesired",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8213,
                          "src": "11085:14:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8242,
                          "name": "amountAMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8215,
                          "src": "11107:10:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8243,
                          "name": "amountBMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8217,
                          "src": "11125:10:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 8237,
                        "name": "_addLiquidity",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8205,
                        "src": "11014:13:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$",
                          "typeString": "function (address,address,uint256,uint256,uint256,uint256) returns (uint256,uint256)"
                        }
                      },
                      "id": 8244,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "11014:127:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "src": "10993:148:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8246,
                  "nodeType": "ExpressionStatement",
                  "src": "10993:148:26"
                },
                {
                  "assignments": [
                    8248
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8248,
                      "mutability": "mutable",
                      "name": "pair",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 8285,
                      "src": "11147:12:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 8247,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "11147:7:26",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8255,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8251,
                        "name": "factory",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8030,
                        "src": "11208:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8252,
                        "name": "tokenA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8207,
                        "src": "11217:6:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8253,
                        "name": "tokenB",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8209,
                        "src": "11225:6:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 8249,
                        "name": "MockUniswapV2Router02UniswapV2Library",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10567,
                        "src": "11162:37:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                          "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                        }
                      },
                      "id": 8250,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "pairFor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10191,
                      "src": "11162:45:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_address_$",
                        "typeString": "function (address,address,address) view returns (address)"
                      }
                    },
                    "id": 8254,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11162:70:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "11147:85:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8259,
                        "name": "tokenA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8207,
                        "src": "11291:6:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 8260,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "11299:3:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 8261,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "11299:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8262,
                        "name": "pair",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8248,
                        "src": "11311:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8263,
                        "name": "amountA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8228,
                        "src": "11317:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 8256,
                        "name": "MockUniswapV2Router02TransferHelper",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10725,
                        "src": "11238:35:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02TransferHelper_$10725_$",
                          "typeString": "type(library MockUniswapV2Router02TransferHelper)"
                        }
                      },
                      "id": 8258,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "safeTransferFrom",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10699,
                      "src": "11238:52:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,address,address,uint256)"
                      }
                    },
                    "id": 8264,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11238:87:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8265,
                  "nodeType": "ExpressionStatement",
                  "src": "11238:87:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8269,
                        "name": "tokenB",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8209,
                        "src": "11384:6:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 8270,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "11392:3:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 8271,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "11392:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8272,
                        "name": "pair",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8248,
                        "src": "11404:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8273,
                        "name": "amountB",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8230,
                        "src": "11410:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 8266,
                        "name": "MockUniswapV2Router02TransferHelper",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10725,
                        "src": "11331:35:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02TransferHelper_$10725_$",
                          "typeString": "type(library MockUniswapV2Router02TransferHelper)"
                        }
                      },
                      "id": 8268,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "safeTransferFrom",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10699,
                      "src": "11331:52:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,address,address,uint256)"
                      }
                    },
                    "id": 8274,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11331:87:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8275,
                  "nodeType": "ExpressionStatement",
                  "src": "11331:87:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8283,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 8276,
                      "name": "liquidity",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8232,
                      "src": "11424:9:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 8281,
                          "name": "to",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8219,
                          "src": "11483:2:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8278,
                              "name": "pair",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8248,
                              "src": "11472:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 8277,
                            "name": "MockUniswapV2Router02IUniswapV2Pair",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7531,
                            "src": "11436:35:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531_$",
                              "typeString": "type(contract MockUniswapV2Router02IUniswapV2Pair)"
                            }
                          },
                          "id": 8279,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "11436:41:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531",
                            "typeString": "contract MockUniswapV2Router02IUniswapV2Pair"
                          }
                        },
                        "id": 8280,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "mint",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7495,
                        "src": "11436:46:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$",
                          "typeString": "function (address) external returns (uint256)"
                        }
                      },
                      "id": 8282,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "11436:50:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "11424:62:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 8284,
                  "nodeType": "ExpressionStatement",
                  "src": "11424:62:26"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "e8e33700",
            "id": 8286,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8225,
                    "name": "deadline",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8221,
                    "src": "10894:8:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 8226,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8224,
                  "name": "ensure",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 8047,
                  "src": "10887:6:26",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_uint256_$",
                    "typeString": "modifier (uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "10887:16:26"
              }
            ],
            "name": "addLiquidity",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8223,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "10874:8:26"
            },
            "parameters": {
              "id": 8222,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8207,
                  "mutability": "mutable",
                  "name": "tokenA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8286,
                  "src": "10679:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8206,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "10679:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8209,
                  "mutability": "mutable",
                  "name": "tokenB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8286,
                  "src": "10699:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8208,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "10699:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8211,
                  "mutability": "mutable",
                  "name": "amountADesired",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8286,
                  "src": "10719:19:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8210,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "10719:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8213,
                  "mutability": "mutable",
                  "name": "amountBDesired",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8286,
                  "src": "10744:19:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8212,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "10744:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8215,
                  "mutability": "mutable",
                  "name": "amountAMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8286,
                  "src": "10769:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8214,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "10769:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8217,
                  "mutability": "mutable",
                  "name": "amountBMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8286,
                  "src": "10790:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8216,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "10790:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8219,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8286,
                  "src": "10811:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8218,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "10811:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8221,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8286,
                  "src": "10827:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8220,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "10827:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10673:171:26"
            },
            "returnParameters": {
              "id": 8233,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8228,
                  "mutability": "mutable",
                  "name": "amountA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8286,
                  "src": "10924:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8227,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "10924:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8230,
                  "mutability": "mutable",
                  "name": "amountB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8286,
                  "src": "10944:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8229,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "10944:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8232,
                  "mutability": "mutable",
                  "name": "liquidity",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8286,
                  "src": "10964:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8231,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "10964:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10916:68:26"
            },
            "scope": 10051,
            "src": "10652:839:26",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7587
            ],
            "body": {
              "id": 8387,
              "nodeType": "Block",
              "src": "11815:713:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8323,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 8311,
                          "name": "amountToken",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8305,
                          "src": "11822:11:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8312,
                          "name": "amountETH",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8307,
                          "src": "11835:9:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 8313,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "11821:24:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 8315,
                          "name": "token",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8288,
                          "src": "11869:5:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8316,
                          "name": "WETH",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8033,
                          "src": "11882:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8317,
                          "name": "amountTokenDesired",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8290,
                          "src": "11894:18:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 8318,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -15,
                            "src": "11920:3:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 8319,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "11920:9:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8320,
                          "name": "amountTokenMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8292,
                          "src": "11937:14:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8321,
                          "name": "amountETHMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8294,
                          "src": "11959:12:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 8314,
                        "name": "_addLiquidity",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8205,
                        "src": "11848:13:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$",
                          "typeString": "function (address,address,uint256,uint256,uint256,uint256) returns (uint256,uint256)"
                        }
                      },
                      "id": 8322,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "11848:129:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "src": "11821:156:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8324,
                  "nodeType": "ExpressionStatement",
                  "src": "11821:156:26"
                },
                {
                  "assignments": [
                    8326
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8326,
                      "mutability": "mutable",
                      "name": "pair",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 8387,
                      "src": "11983:12:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 8325,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "11983:7:26",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8333,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8329,
                        "name": "factory",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8030,
                        "src": "12044:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8330,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8288,
                        "src": "12053:5:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8331,
                        "name": "WETH",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8033,
                        "src": "12060:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 8327,
                        "name": "MockUniswapV2Router02UniswapV2Library",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10567,
                        "src": "11998:37:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                          "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                        }
                      },
                      "id": 8328,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "pairFor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10191,
                      "src": "11998:45:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_address_$",
                        "typeString": "function (address,address,address) view returns (address)"
                      }
                    },
                    "id": 8332,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11998:67:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "11983:82:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8337,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8288,
                        "src": "12124:5:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 8338,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "12131:3:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 8339,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "12131:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8340,
                        "name": "pair",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8326,
                        "src": "12143:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8341,
                        "name": "amountToken",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8305,
                        "src": "12149:11:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 8334,
                        "name": "MockUniswapV2Router02TransferHelper",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10725,
                        "src": "12071:35:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02TransferHelper_$10725_$",
                          "typeString": "type(library MockUniswapV2Router02TransferHelper)"
                        }
                      },
                      "id": 8336,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "safeTransferFrom",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10699,
                      "src": "12071:52:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,address,address,uint256)"
                      }
                    },
                    "id": 8342,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12071:90:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8343,
                  "nodeType": "ExpressionStatement",
                  "src": "12071:90:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8345,
                              "name": "WETH",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8033,
                              "src": "12194:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 8344,
                            "name": "MockUniswapV2Router02IWETH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8022,
                            "src": "12167:26:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IWETH_$8022_$",
                              "typeString": "type(contract MockUniswapV2Router02IWETH)"
                            }
                          },
                          "id": 8346,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "12167:32:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_MockUniswapV2Router02IWETH_$8022",
                            "typeString": "contract MockUniswapV2Router02IWETH"
                          }
                        },
                        "id": 8347,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "deposit",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 8007,
                        "src": "12167:40:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_payable$__$returns$__$",
                          "typeString": "function () payable external"
                        }
                      },
                      "id": 8349,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "names": [
                        "value"
                      ],
                      "nodeType": "FunctionCallOptions",
                      "options": [
                        {
                          "argumentTypes": null,
                          "id": 8348,
                          "name": "amountETH",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8307,
                          "src": "12215:9:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "src": "12167:58:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_payable$__$returns$__$value",
                        "typeString": "function () payable external"
                      }
                    },
                    "id": 8350,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12167:60:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8351,
                  "nodeType": "ExpressionStatement",
                  "src": "12167:60:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 8357,
                            "name": "pair",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8326,
                            "src": "12282:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 8358,
                            "name": "amountETH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8307,
                            "src": "12288:9:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 8354,
                                "name": "WETH",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8033,
                                "src": "12267:4:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "id": 8353,
                              "name": "MockUniswapV2Router02IWETH",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8022,
                              "src": "12240:26:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IWETH_$8022_$",
                                "typeString": "type(contract MockUniswapV2Router02IWETH)"
                              }
                            },
                            "id": 8355,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "12240:32:26",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_MockUniswapV2Router02IWETH_$8022",
                              "typeString": "contract MockUniswapV2Router02IWETH"
                            }
                          },
                          "id": 8356,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "transfer",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8016,
                          "src": "12240:41:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                            "typeString": "function (address,uint256) external returns (bool)"
                          }
                        },
                        "id": 8359,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "12240:58:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 8352,
                      "name": "assert",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -3,
                      "src": "12233:6:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 8360,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12233:66:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8361,
                  "nodeType": "ExpressionStatement",
                  "src": "12233:66:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8369,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 8362,
                      "name": "liquidity",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8309,
                      "src": "12305:9:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 8367,
                          "name": "to",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8296,
                          "src": "12364:2:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8364,
                              "name": "pair",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8326,
                              "src": "12353:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 8363,
                            "name": "MockUniswapV2Router02IUniswapV2Pair",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7531,
                            "src": "12317:35:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531_$",
                              "typeString": "type(contract MockUniswapV2Router02IUniswapV2Pair)"
                            }
                          },
                          "id": 8365,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "12317:41:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531",
                            "typeString": "contract MockUniswapV2Router02IUniswapV2Pair"
                          }
                        },
                        "id": 8366,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "mint",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7495,
                        "src": "12317:46:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$",
                          "typeString": "function (address) external returns (uint256)"
                        }
                      },
                      "id": 8368,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "12317:50:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "12305:62:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 8370,
                  "nodeType": "ExpressionStatement",
                  "src": "12305:62:26"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 8374,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 8371,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -15,
                        "src": "12408:3:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 8372,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "value",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "12408:9:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 8373,
                      "name": "amountETH",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8307,
                      "src": "12420:9:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "12408:21:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 8386,
                  "nodeType": "IfStatement",
                  "src": "12404:119:26",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 8378,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -15,
                            "src": "12489:3:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 8379,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "12489:10:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address_payable",
                            "typeString": "address payable"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 8383,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 8380,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": -15,
                              "src": "12501:3:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 8381,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "value",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "12501:9:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "-",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 8382,
                            "name": "amountETH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8307,
                            "src": "12513:9:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "12501:21:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address_payable",
                            "typeString": "address payable"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 8375,
                          "name": "MockUniswapV2Router02TransferHelper",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10725,
                          "src": "12437:35:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02TransferHelper_$10725_$",
                            "typeString": "type(library MockUniswapV2Router02TransferHelper)"
                          }
                        },
                        "id": 8377,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "safeTransferETH",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 10724,
                        "src": "12437:51:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                          "typeString": "function (address,uint256)"
                        }
                      },
                      "id": 8384,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "12437:86:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$",
                        "typeString": "tuple()"
                      }
                    },
                    "id": 8385,
                    "nodeType": "ExpressionStatement",
                    "src": "12437:86:26"
                  }
                }
              ]
            },
            "documentation": null,
            "functionSelector": "f305d719",
            "id": 8388,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8302,
                    "name": "deadline",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8298,
                    "src": "11716:8:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 8303,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8301,
                  "name": "ensure",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 8047,
                  "src": "11709:6:26",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_uint256_$",
                    "typeString": "modifier (uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "11709:16:26"
              }
            ],
            "name": "addLiquidityETH",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8300,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "11696:8:26"
            },
            "parameters": {
              "id": 8299,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8288,
                  "mutability": "mutable",
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8388,
                  "src": "11525:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8287,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "11525:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8290,
                  "mutability": "mutable",
                  "name": "amountTokenDesired",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8388,
                  "src": "11544:23:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8289,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "11544:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8292,
                  "mutability": "mutable",
                  "name": "amountTokenMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8388,
                  "src": "11573:19:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8291,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "11573:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8294,
                  "mutability": "mutable",
                  "name": "amountETHMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8388,
                  "src": "11598:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8293,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "11598:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8296,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8388,
                  "src": "11621:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8295,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "11621:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8298,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8388,
                  "src": "11637:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8297,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "11637:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "11519:135:26"
            },
            "returnParameters": {
              "id": 8310,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8305,
                  "mutability": "mutable",
                  "name": "amountToken",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8388,
                  "src": "11746:16:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8304,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "11746:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8307,
                  "mutability": "mutable",
                  "name": "amountETH",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8388,
                  "src": "11770:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8306,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "11770:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8309,
                  "mutability": "mutable",
                  "name": "liquidity",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8388,
                  "src": "11792:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8308,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "11792:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "11738:74:26"
            },
            "scope": 10051,
            "src": "11495:1033:26",
            "stateMutability": "payable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7608
            ],
            "body": {
              "id": 8480,
              "nodeType": "Block",
              "src": "12808:630:26",
              "statements": [
                {
                  "assignments": [
                    8414
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8414,
                      "mutability": "mutable",
                      "name": "pair",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 8480,
                      "src": "12814:12:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 8413,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "12814:7:26",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8421,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8417,
                        "name": "factory",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8030,
                        "src": "12875:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8418,
                        "name": "tokenA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8390,
                        "src": "12884:6:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8419,
                        "name": "tokenB",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8392,
                        "src": "12892:6:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 8415,
                        "name": "MockUniswapV2Router02UniswapV2Library",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10567,
                        "src": "12829:37:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                          "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                        }
                      },
                      "id": 8416,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "pairFor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10191,
                      "src": "12829:45:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_address_$",
                        "typeString": "function (address,address,address) view returns (address)"
                      }
                    },
                    "id": 8420,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12829:70:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12814:85:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 8426,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "12960:3:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 8427,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "12960:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8428,
                        "name": "pair",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8414,
                        "src": "12972:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8429,
                        "name": "liquidity",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8394,
                        "src": "12978:9:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 8423,
                            "name": "pair",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8414,
                            "src": "12941:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 8422,
                          "name": "MockUniswapV2Router02IUniswapV2Pair",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7531,
                          "src": "12905:35:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531_$",
                            "typeString": "type(contract MockUniswapV2Router02IUniswapV2Pair)"
                          }
                        },
                        "id": 8424,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "12905:41:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531",
                          "typeString": "contract MockUniswapV2Router02IUniswapV2Pair"
                        }
                      },
                      "id": 8425,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transferFrom",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7372,
                      "src": "12905:54:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,address,uint256) external returns (bool)"
                      }
                    },
                    "id": 8430,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12905:83:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8431,
                  "nodeType": "ExpressionStatement",
                  "src": "12905:83:26"
                },
                {
                  "assignments": [
                    8433,
                    8435
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8433,
                      "mutability": "mutable",
                      "name": "amount0",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 8480,
                      "src": "13021:12:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 8432,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "13021:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    },
                    {
                      "constant": false,
                      "id": 8435,
                      "mutability": "mutable",
                      "name": "amount1",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 8480,
                      "src": "13035:12:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 8434,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "13035:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8442,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8440,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8400,
                        "src": "13098:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 8437,
                            "name": "pair",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8414,
                            "src": "13087:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 8436,
                          "name": "MockUniswapV2Router02IUniswapV2Pair",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7531,
                          "src": "13051:35:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531_$",
                            "typeString": "type(contract MockUniswapV2Router02IUniswapV2Pair)"
                          }
                        },
                        "id": 8438,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "13051:41:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531",
                          "typeString": "contract MockUniswapV2Router02IUniswapV2Pair"
                        }
                      },
                      "id": 8439,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "burn",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7504,
                      "src": "13051:46:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$_t_uint256_$",
                        "typeString": "function (address) external returns (uint256,uint256)"
                      }
                    },
                    "id": 8441,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13051:50:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                      "typeString": "tuple(uint256,uint256)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "13020:81:26"
                },
                {
                  "assignments": [
                    8444,
                    null
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8444,
                      "mutability": "mutable",
                      "name": "token0",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 8480,
                      "src": "13108:14:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 8443,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "13108:7:26",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    },
                    null
                  ],
                  "id": 8450,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8447,
                        "name": "tokenA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8390,
                        "src": "13177:6:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8448,
                        "name": "tokenB",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8392,
                        "src": "13185:6:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 8445,
                        "name": "MockUniswapV2Router02UniswapV2Library",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10567,
                        "src": "13128:37:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                          "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                        }
                      },
                      "id": 8446,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "sortTokens",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10171,
                      "src": "13128:48:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_address_$_t_address_$",
                        "typeString": "function (address,address) pure returns (address,address)"
                      }
                    },
                    "id": 8449,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13128:64:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_address_$_t_address_$",
                      "typeString": "tuple(address,address)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "13107:85:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8464,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 8451,
                          "name": "amountA",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8409,
                          "src": "13199:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8452,
                          "name": "amountB",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8411,
                          "src": "13208:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 8453,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "13198:18:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "condition": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 8456,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 8454,
                          "name": "tokenA",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8390,
                          "src": "13219:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 8455,
                          "name": "token0",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8444,
                          "src": "13229:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "13219:16:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "falseExpression": {
                        "argumentTypes": null,
                        "components": [
                          {
                            "argumentTypes": null,
                            "id": 8460,
                            "name": "amount1",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8435,
                            "src": "13260:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 8461,
                            "name": "amount0",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8433,
                            "src": "13269:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "id": 8462,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "13259:18:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                          "typeString": "tuple(uint256,uint256)"
                        }
                      },
                      "id": 8463,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "Conditional",
                      "src": "13219:58:26",
                      "trueExpression": {
                        "argumentTypes": null,
                        "components": [
                          {
                            "argumentTypes": null,
                            "id": 8457,
                            "name": "amount0",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8433,
                            "src": "13239:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 8458,
                            "name": "amount1",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8435,
                            "src": "13248:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "id": 8459,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "13238:18:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                          "typeString": "tuple(uint256,uint256)"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "src": "13198:79:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8465,
                  "nodeType": "ExpressionStatement",
                  "src": "13198:79:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 8469,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 8467,
                          "name": "amountA",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8409,
                          "src": "13291:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 8468,
                          "name": "amountAMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8396,
                          "src": "13302:10:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "13291:21:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f415f414d4f554e54",
                        "id": 8470,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "13314:40:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_d1d32edc232bc1da2150d590567c5d6321ade8a80edcd2485e6068d018c7fd67",
                          "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_A_AMOUNT\""
                        },
                        "value": "UniswapV2Router: INSUFFICIENT_A_AMOUNT"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_d1d32edc232bc1da2150d590567c5d6321ade8a80edcd2485e6068d018c7fd67",
                          "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_A_AMOUNT\""
                        }
                      ],
                      "id": 8466,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "13283:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8471,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13283:72:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8472,
                  "nodeType": "ExpressionStatement",
                  "src": "13283:72:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 8476,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 8474,
                          "name": "amountB",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8411,
                          "src": "13369:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 8475,
                          "name": "amountBMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8398,
                          "src": "13380:10:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "13369:21:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f425f414d4f554e54",
                        "id": 8477,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "13392:40:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_508673fa99dd55571c7741114b40754785309d1a2171022cd7c5caaae38fc7b6",
                          "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_B_AMOUNT\""
                        },
                        "value": "UniswapV2Router: INSUFFICIENT_B_AMOUNT"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_508673fa99dd55571c7741114b40754785309d1a2171022cd7c5caaae38fc7b6",
                          "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_B_AMOUNT\""
                        }
                      ],
                      "id": 8473,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "13361:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 8478,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13361:72:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8479,
                  "nodeType": "ExpressionStatement",
                  "src": "13361:72:26"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "baa2abde",
            "id": 8481,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8406,
                    "name": "deadline",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8402,
                    "src": "12761:8:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 8407,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8405,
                  "name": "ensure",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 8047,
                  "src": "12754:6:26",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_uint256_$",
                    "typeString": "modifier (uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "12754:16:26"
              }
            ],
            "name": "removeLiquidity",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8404,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "12745:8:26"
            },
            "parameters": {
              "id": 8403,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8390,
                  "mutability": "mutable",
                  "name": "tokenA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8481,
                  "src": "12594:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8389,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "12594:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8392,
                  "mutability": "mutable",
                  "name": "tokenB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8481,
                  "src": "12614:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8391,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "12614:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8394,
                  "mutability": "mutable",
                  "name": "liquidity",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8481,
                  "src": "12634:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8393,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "12634:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8396,
                  "mutability": "mutable",
                  "name": "amountAMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8481,
                  "src": "12654:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8395,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "12654:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8398,
                  "mutability": "mutable",
                  "name": "amountBMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8481,
                  "src": "12675:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8397,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "12675:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8400,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8481,
                  "src": "12696:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8399,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "12696:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8402,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8481,
                  "src": "12712:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8401,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "12712:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "12588:141:26"
            },
            "returnParameters": {
              "id": 8412,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8409,
                  "mutability": "mutable",
                  "name": "amountA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8481,
                  "src": "12780:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8408,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "12780:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8411,
                  "mutability": "mutable",
                  "name": "amountB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8481,
                  "src": "12794:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8410,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "12794:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "12779:28:26"
            },
            "scope": 10051,
            "src": "12564:874:26",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              7627
            ],
            "body": {
              "id": 8543,
              "nodeType": "Block",
              "src": "13680:388:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8519,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 8504,
                          "name": "amountToken",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8500,
                          "src": "13687:11:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8505,
                          "name": "amountETH",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8502,
                          "src": "13700:9:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 8506,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "13686:24:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 8508,
                          "name": "token",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8483,
                          "src": "13736:5:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8509,
                          "name": "WETH",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8033,
                          "src": "13749:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8510,
                          "name": "liquidity",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8485,
                          "src": "13761:9:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8511,
                          "name": "amountTokenMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8487,
                          "src": "13778:14:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8512,
                          "name": "amountETHMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8489,
                          "src": "13800:12:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8515,
                              "name": "this",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": -28,
                              "src": "13828:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_MockUniswapV2Router02_$10051",
                                "typeString": "contract MockUniswapV2Router02"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_MockUniswapV2Router02_$10051",
                                "typeString": "contract MockUniswapV2Router02"
                              }
                            ],
                            "id": 8514,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "13820:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 8513,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "13820:7:26",
                              "typeDescriptions": {
                                "typeIdentifier": null,
                                "typeString": null
                              }
                            }
                          },
                          "id": 8516,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "13820:13:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address_payable",
                            "typeString": "address payable"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8517,
                          "name": "deadline",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8493,
                          "src": "13841:8:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_address_payable",
                            "typeString": "address payable"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 8507,
                        "name": "removeLiquidity",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8481,
                        "src": "13713:15:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$",
                          "typeString": "function (address,address,uint256,uint256,uint256,address,uint256) returns (uint256,uint256)"
                        }
                      },
                      "id": 8518,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13713:142:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "src": "13686:169:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8520,
                  "nodeType": "ExpressionStatement",
                  "src": "13686:169:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8524,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8483,
                        "src": "13910:5:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8525,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8491,
                        "src": "13917:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8526,
                        "name": "amountToken",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8500,
                        "src": "13921:11:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 8521,
                        "name": "MockUniswapV2Router02TransferHelper",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10725,
                        "src": "13861:35:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02TransferHelper_$10725_$",
                          "typeString": "type(library MockUniswapV2Router02TransferHelper)"
                        }
                      },
                      "id": 8523,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "safeTransfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10653,
                      "src": "13861:48:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,address,uint256)"
                      }
                    },
                    "id": 8527,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13861:72:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8528,
                  "nodeType": "ExpressionStatement",
                  "src": "13861:72:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8533,
                        "name": "amountETH",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8502,
                        "src": "13981:9:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 8530,
                            "name": "WETH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8033,
                            "src": "13966:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 8529,
                          "name": "MockUniswapV2Router02IWETH",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8022,
                          "src": "13939:26:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IWETH_$8022_$",
                            "typeString": "type(contract MockUniswapV2Router02IWETH)"
                          }
                        },
                        "id": 8531,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "13939:32:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MockUniswapV2Router02IWETH_$8022",
                          "typeString": "contract MockUniswapV2Router02IWETH"
                        }
                      },
                      "id": 8532,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "withdraw",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8021,
                      "src": "13939:41:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256) external"
                      }
                    },
                    "id": 8534,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13939:52:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8535,
                  "nodeType": "ExpressionStatement",
                  "src": "13939:52:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8539,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8491,
                        "src": "14049:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8540,
                        "name": "amountETH",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8502,
                        "src": "14053:9:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 8536,
                        "name": "MockUniswapV2Router02TransferHelper",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10725,
                        "src": "13997:35:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02TransferHelper_$10725_$",
                          "typeString": "type(library MockUniswapV2Router02TransferHelper)"
                        }
                      },
                      "id": 8538,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "safeTransferETH",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10724,
                      "src": "13997:51:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 8541,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13997:66:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8542,
                  "nodeType": "ExpressionStatement",
                  "src": "13997:66:26"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "02751cec",
            "id": 8544,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8497,
                    "name": "deadline",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8493,
                    "src": "13627:8:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 8498,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8496,
                  "name": "ensure",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 8047,
                  "src": "13620:6:26",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_uint256_$",
                    "typeString": "modifier (uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "13620:16:26"
              }
            ],
            "name": "removeLiquidityETH",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8495,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "13611:8:26"
            },
            "parameters": {
              "id": 8494,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8483,
                  "mutability": "mutable",
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8544,
                  "src": "13475:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8482,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "13475:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8485,
                  "mutability": "mutable",
                  "name": "liquidity",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8544,
                  "src": "13494:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8484,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "13494:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8487,
                  "mutability": "mutable",
                  "name": "amountTokenMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8544,
                  "src": "13514:19:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8486,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "13514:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8489,
                  "mutability": "mutable",
                  "name": "amountETHMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8544,
                  "src": "13539:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8488,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "13539:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8491,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8544,
                  "src": "13562:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8490,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "13562:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8493,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8544,
                  "src": "13578:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8492,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "13578:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "13469:126:26"
            },
            "returnParameters": {
              "id": 8503,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8500,
                  "mutability": "mutable",
                  "name": "amountToken",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8544,
                  "src": "13646:16:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8499,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "13646:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8502,
                  "mutability": "mutable",
                  "name": "amountETH",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8544,
                  "src": "13664:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8501,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "13664:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "13645:34:26"
            },
            "scope": 10051,
            "src": "13442:626:26",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              7656
            ],
            "body": {
              "id": 8625,
              "nodeType": "Block",
              "src": "14375:458:26",
              "statements": [
                {
                  "assignments": [
                    8575
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8575,
                      "mutability": "mutable",
                      "name": "pair",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 8625,
                      "src": "14381:12:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 8574,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "14381:7:26",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8582,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8578,
                        "name": "factory",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8030,
                        "src": "14442:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8579,
                        "name": "tokenA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8546,
                        "src": "14451:6:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8580,
                        "name": "tokenB",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8548,
                        "src": "14459:6:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 8576,
                        "name": "MockUniswapV2Router02UniswapV2Library",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10567,
                        "src": "14396:37:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                          "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                        }
                      },
                      "id": 8577,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "pairFor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10191,
                      "src": "14396:45:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_address_$",
                        "typeString": "function (address,address,address) view returns (address)"
                      }
                    },
                    "id": 8581,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14396:70:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14381:85:26"
                },
                {
                  "assignments": [
                    8584
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8584,
                      "mutability": "mutable",
                      "name": "value",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 8625,
                      "src": "14472:10:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 8583,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "14472:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8593,
                  "initialValue": {
                    "argumentTypes": null,
                    "condition": {
                      "argumentTypes": null,
                      "id": 8585,
                      "name": "approveMax",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8560,
                      "src": "14485:10:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseExpression": {
                      "argumentTypes": null,
                      "id": 8591,
                      "name": "liquidity",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8550,
                      "src": "14509:9:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8592,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "Conditional",
                    "src": "14485:33:26",
                    "trueExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 8589,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "-",
                          "prefix": true,
                          "src": "14503:2:26",
                          "subExpression": {
                            "argumentTypes": null,
                            "hexValue": "31",
                            "id": 8588,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "14504:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_minus_1_by_1",
                            "typeString": "int_const -1"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_minus_1_by_1",
                            "typeString": "int_const -1"
                          }
                        ],
                        "id": 8587,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "14498:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint256_$",
                          "typeString": "type(uint256)"
                        },
                        "typeName": {
                          "id": 8586,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "14498:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": null,
                            "typeString": null
                          }
                        }
                      },
                      "id": 8590,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "14498:8:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14472:46:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 8598,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "14580:3:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 8599,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "14580:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 8602,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -28,
                            "src": "14606:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_MockUniswapV2Router02_$10051",
                              "typeString": "contract MockUniswapV2Router02"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_MockUniswapV2Router02_$10051",
                              "typeString": "contract MockUniswapV2Router02"
                            }
                          ],
                          "id": 8601,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "14598:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 8600,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "14598:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": null,
                              "typeString": null
                            }
                          }
                        },
                        "id": 8603,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "14598:13:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8604,
                        "name": "value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8584,
                        "src": "14619:5:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8605,
                        "name": "deadline",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8558,
                        "src": "14632:8:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8606,
                        "name": "v",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8562,
                        "src": "14648:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8607,
                        "name": "r",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8564,
                        "src": "14657:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8608,
                        "name": "s",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8566,
                        "src": "14666:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 8595,
                            "name": "pair",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8575,
                            "src": "14560:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 8594,
                          "name": "MockUniswapV2Router02IUniswapV2Pair",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7531,
                          "src": "14524:35:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531_$",
                            "typeString": "type(contract MockUniswapV2Router02IUniswapV2Pair)"
                          }
                        },
                        "id": 8596,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "14524:41:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531",
                          "typeString": "contract MockUniswapV2Router02IUniswapV2Pair"
                        }
                      },
                      "id": 8597,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "permit",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7406,
                      "src": "14524:48:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,uint256,uint256,uint8,bytes32,bytes32) external"
                      }
                    },
                    "id": 8609,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14524:149:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8610,
                  "nodeType": "ExpressionStatement",
                  "src": "14524:149:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8623,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 8611,
                          "name": "amountA",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8570,
                          "src": "14680:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8612,
                          "name": "amountB",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8572,
                          "src": "14689:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 8613,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "14679:18:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 8615,
                          "name": "tokenA",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8546,
                          "src": "14723:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8616,
                          "name": "tokenB",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8548,
                          "src": "14737:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8617,
                          "name": "liquidity",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8550,
                          "src": "14751:9:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8618,
                          "name": "amountAMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8552,
                          "src": "14768:10:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8619,
                          "name": "amountBMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8554,
                          "src": "14786:10:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8620,
                          "name": "to",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8556,
                          "src": "14804:2:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8621,
                          "name": "deadline",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8558,
                          "src": "14814:8:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 8614,
                        "name": "removeLiquidity",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8481,
                        "src": "14700:15:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$",
                          "typeString": "function (address,address,uint256,uint256,uint256,address,uint256) returns (uint256,uint256)"
                        }
                      },
                      "id": 8622,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "14700:128:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "src": "14679:149:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8624,
                  "nodeType": "ExpressionStatement",
                  "src": "14679:149:26"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "2195995c",
            "id": 8626,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "removeLiquidityWithPermit",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8568,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "14329:8:26"
            },
            "parameters": {
              "id": 8567,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8546,
                  "mutability": "mutable",
                  "name": "tokenA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8626,
                  "src": "14112:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8545,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "14112:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8548,
                  "mutability": "mutable",
                  "name": "tokenB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8626,
                  "src": "14132:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8547,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "14132:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8550,
                  "mutability": "mutable",
                  "name": "liquidity",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8626,
                  "src": "14152:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8549,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "14152:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8552,
                  "mutability": "mutable",
                  "name": "amountAMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8626,
                  "src": "14172:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8551,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "14172:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8554,
                  "mutability": "mutable",
                  "name": "amountBMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8626,
                  "src": "14193:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8553,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "14193:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8556,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8626,
                  "src": "14214:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8555,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "14214:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8558,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8626,
                  "src": "14230:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8557,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "14230:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8560,
                  "mutability": "mutable",
                  "name": "approveMax",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8626,
                  "src": "14249:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 8559,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "14249:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8562,
                  "mutability": "mutable",
                  "name": "v",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8626,
                  "src": "14270:7:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 8561,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "14270:5:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8564,
                  "mutability": "mutable",
                  "name": "r",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8626,
                  "src": "14283:9:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8563,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "14283:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8566,
                  "mutability": "mutable",
                  "name": "s",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8626,
                  "src": "14298:9:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8565,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "14298:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "14106:205:26"
            },
            "returnParameters": {
              "id": 8573,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8570,
                  "mutability": "mutable",
                  "name": "amountA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8626,
                  "src": "14347:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8569,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "14347:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8572,
                  "mutability": "mutable",
                  "name": "amountB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8626,
                  "src": "14361:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8571,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "14361:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "14346:28:26"
            },
            "scope": 10051,
            "src": "14072:761:26",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7683
            ],
            "body": {
              "id": 8704,
              "nodeType": "Block",
              "src": "15134:455:26",
              "statements": [
                {
                  "assignments": [
                    8655
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8655,
                      "mutability": "mutable",
                      "name": "pair",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 8704,
                      "src": "15140:12:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 8654,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "15140:7:26",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8662,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8658,
                        "name": "factory",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8030,
                        "src": "15201:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8659,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8628,
                        "src": "15210:5:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8660,
                        "name": "WETH",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8033,
                        "src": "15217:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 8656,
                        "name": "MockUniswapV2Router02UniswapV2Library",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10567,
                        "src": "15155:37:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                          "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                        }
                      },
                      "id": 8657,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "pairFor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10191,
                      "src": "15155:45:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_address_$",
                        "typeString": "function (address,address,address) view returns (address)"
                      }
                    },
                    "id": 8661,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15155:67:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15140:82:26"
                },
                {
                  "assignments": [
                    8664
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8664,
                      "mutability": "mutable",
                      "name": "value",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 8704,
                      "src": "15228:10:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 8663,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "15228:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8673,
                  "initialValue": {
                    "argumentTypes": null,
                    "condition": {
                      "argumentTypes": null,
                      "id": 8665,
                      "name": "approveMax",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8640,
                      "src": "15241:10:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseExpression": {
                      "argumentTypes": null,
                      "id": 8671,
                      "name": "liquidity",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8630,
                      "src": "15265:9:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8672,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "Conditional",
                    "src": "15241:33:26",
                    "trueExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 8669,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "-",
                          "prefix": true,
                          "src": "15259:2:26",
                          "subExpression": {
                            "argumentTypes": null,
                            "hexValue": "31",
                            "id": 8668,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "15260:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_minus_1_by_1",
                            "typeString": "int_const -1"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_minus_1_by_1",
                            "typeString": "int_const -1"
                          }
                        ],
                        "id": 8667,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "15254:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint256_$",
                          "typeString": "type(uint256)"
                        },
                        "typeName": {
                          "id": 8666,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "15254:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": null,
                            "typeString": null
                          }
                        }
                      },
                      "id": 8670,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "15254:8:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15228:46:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 8678,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "15336:3:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 8679,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "15336:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 8682,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -28,
                            "src": "15362:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_MockUniswapV2Router02_$10051",
                              "typeString": "contract MockUniswapV2Router02"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_MockUniswapV2Router02_$10051",
                              "typeString": "contract MockUniswapV2Router02"
                            }
                          ],
                          "id": 8681,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "15354:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 8680,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "15354:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": null,
                              "typeString": null
                            }
                          }
                        },
                        "id": 8683,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "15354:13:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8684,
                        "name": "value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8664,
                        "src": "15375:5:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8685,
                        "name": "deadline",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8638,
                        "src": "15388:8:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8686,
                        "name": "v",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8642,
                        "src": "15404:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8687,
                        "name": "r",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8644,
                        "src": "15413:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8688,
                        "name": "s",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8646,
                        "src": "15422:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 8675,
                            "name": "pair",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8655,
                            "src": "15316:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 8674,
                          "name": "MockUniswapV2Router02IUniswapV2Pair",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7531,
                          "src": "15280:35:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531_$",
                            "typeString": "type(contract MockUniswapV2Router02IUniswapV2Pair)"
                          }
                        },
                        "id": 8676,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "15280:41:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531",
                          "typeString": "contract MockUniswapV2Router02IUniswapV2Pair"
                        }
                      },
                      "id": 8677,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "permit",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7406,
                      "src": "15280:48:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,uint256,uint256,uint8,bytes32,bytes32) external"
                      }
                    },
                    "id": 8689,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15280:149:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8690,
                  "nodeType": "ExpressionStatement",
                  "src": "15280:149:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8702,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 8691,
                          "name": "amountToken",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8650,
                          "src": "15436:11:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8692,
                          "name": "amountETH",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8652,
                          "src": "15449:9:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 8693,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "15435:24:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 8695,
                          "name": "token",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8628,
                          "src": "15488:5:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8696,
                          "name": "liquidity",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8630,
                          "src": "15501:9:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8697,
                          "name": "amountTokenMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8632,
                          "src": "15518:14:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8698,
                          "name": "amountETHMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8634,
                          "src": "15540:12:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8699,
                          "name": "to",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8636,
                          "src": "15560:2:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8700,
                          "name": "deadline",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8638,
                          "src": "15570:8:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 8694,
                        "name": "removeLiquidityETH",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8544,
                        "src": "15462:18:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$",
                          "typeString": "function (address,uint256,uint256,uint256,address,uint256) returns (uint256,uint256)"
                        }
                      },
                      "id": 8701,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "15462:122:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "src": "15435:149:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8703,
                  "nodeType": "ExpressionStatement",
                  "src": "15435:149:26"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "ded9382a",
            "id": 8705,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "removeLiquidityETHWithPermit",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8648,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "15082:8:26"
            },
            "parameters": {
              "id": 8647,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8628,
                  "mutability": "mutable",
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8705,
                  "src": "14880:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8627,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "14880:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8630,
                  "mutability": "mutable",
                  "name": "liquidity",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8705,
                  "src": "14899:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8629,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "14899:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8632,
                  "mutability": "mutable",
                  "name": "amountTokenMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8705,
                  "src": "14919:19:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8631,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "14919:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8634,
                  "mutability": "mutable",
                  "name": "amountETHMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8705,
                  "src": "14944:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8633,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "14944:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8636,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8705,
                  "src": "14967:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8635,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "14967:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8638,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8705,
                  "src": "14983:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8637,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "14983:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8640,
                  "mutability": "mutable",
                  "name": "approveMax",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8705,
                  "src": "15002:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 8639,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "15002:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8642,
                  "mutability": "mutable",
                  "name": "v",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8705,
                  "src": "15023:7:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 8641,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "15023:5:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8644,
                  "mutability": "mutable",
                  "name": "r",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8705,
                  "src": "15036:9:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8643,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "15036:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8646,
                  "mutability": "mutable",
                  "name": "s",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8705,
                  "src": "15051:9:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8645,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "15051:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "14874:190:26"
            },
            "returnParameters": {
              "id": 8653,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8650,
                  "mutability": "mutable",
                  "name": "amountToken",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8705,
                  "src": "15100:16:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8649,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "15100:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8652,
                  "mutability": "mutable",
                  "name": "amountETH",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8705,
                  "src": "15118:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8651,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "15118:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "15099:34:26"
            },
            "scope": 10051,
            "src": "14837:752:26",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7856
            ],
            "body": {
              "id": 8772,
              "nodeType": "Block",
              "src": "15910:428:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8740,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        null,
                        {
                          "argumentTypes": null,
                          "id": 8726,
                          "name": "amountETH",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8724,
                          "src": "15919:9:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 8727,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "15916:13:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$_t_uint256_$",
                        "typeString": "tuple(,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 8729,
                          "name": "token",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8707,
                          "src": "15955:5:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8730,
                          "name": "WETH",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8033,
                          "src": "15968:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8731,
                          "name": "liquidity",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8709,
                          "src": "15980:9:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8732,
                          "name": "amountTokenMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8711,
                          "src": "15997:14:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8733,
                          "name": "amountETHMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8713,
                          "src": "16019:12:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8736,
                              "name": "this",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": -28,
                              "src": "16047:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_MockUniswapV2Router02_$10051",
                                "typeString": "contract MockUniswapV2Router02"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_MockUniswapV2Router02_$10051",
                                "typeString": "contract MockUniswapV2Router02"
                              }
                            ],
                            "id": 8735,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "16039:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 8734,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "16039:7:26",
                              "typeDescriptions": {
                                "typeIdentifier": null,
                                "typeString": null
                              }
                            }
                          },
                          "id": 8737,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "16039:13:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address_payable",
                            "typeString": "address payable"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8738,
                          "name": "deadline",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8717,
                          "src": "16060:8:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_address_payable",
                            "typeString": "address payable"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 8728,
                        "name": "removeLiquidity",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8481,
                        "src": "15932:15:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$",
                          "typeString": "function (address,address,uint256,uint256,uint256,address,uint256) returns (uint256,uint256)"
                        }
                      },
                      "id": 8739,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "15932:142:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "src": "15916:158:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8741,
                  "nodeType": "ExpressionStatement",
                  "src": "15916:158:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8745,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8707,
                        "src": "16136:5:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8746,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8715,
                        "src": "16149:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 8753,
                                "name": "this",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -28,
                                "src": "16191:4:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_MockUniswapV2Router02_$10051",
                                  "typeString": "contract MockUniswapV2Router02"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_MockUniswapV2Router02_$10051",
                                  "typeString": "contract MockUniswapV2Router02"
                                }
                              ],
                              "id": 8752,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "16183:7:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 8751,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "16183:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": null,
                                  "typeString": null
                                }
                              }
                            },
                            "id": 8754,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "16183:13:26",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address_payable",
                              "typeString": "address payable"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address_payable",
                              "typeString": "address payable"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 8748,
                                "name": "token",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8707,
                                "src": "16166:5:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "id": 8747,
                              "name": "IERC20",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8004,
                              "src": "16159:6:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IERC20_$8004_$",
                                "typeString": "type(contract IERC20)"
                              }
                            },
                            "id": 8749,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "16159:13:26",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_IERC20_$8004",
                              "typeString": "contract IERC20"
                            }
                          },
                          "id": 8750,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "balanceOf",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7965,
                          "src": "16159:23:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
                            "typeString": "function (address) view external returns (uint256)"
                          }
                        },
                        "id": 8755,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "16159:38:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 8742,
                        "name": "MockUniswapV2Router02TransferHelper",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10725,
                        "src": "16080:35:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02TransferHelper_$10725_$",
                          "typeString": "type(library MockUniswapV2Router02TransferHelper)"
                        }
                      },
                      "id": 8744,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "safeTransfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10653,
                      "src": "16080:48:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,address,uint256)"
                      }
                    },
                    "id": 8756,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16080:123:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8757,
                  "nodeType": "ExpressionStatement",
                  "src": "16080:123:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8762,
                        "name": "amountETH",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8724,
                        "src": "16251:9:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 8759,
                            "name": "WETH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8033,
                            "src": "16236:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 8758,
                          "name": "MockUniswapV2Router02IWETH",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8022,
                          "src": "16209:26:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IWETH_$8022_$",
                            "typeString": "type(contract MockUniswapV2Router02IWETH)"
                          }
                        },
                        "id": 8760,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "16209:32:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MockUniswapV2Router02IWETH_$8022",
                          "typeString": "contract MockUniswapV2Router02IWETH"
                        }
                      },
                      "id": 8761,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "withdraw",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8021,
                      "src": "16209:41:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256) external"
                      }
                    },
                    "id": 8763,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16209:52:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8764,
                  "nodeType": "ExpressionStatement",
                  "src": "16209:52:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8768,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8715,
                        "src": "16319:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8769,
                        "name": "amountETH",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8724,
                        "src": "16323:9:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 8765,
                        "name": "MockUniswapV2Router02TransferHelper",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10725,
                        "src": "16267:35:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02TransferHelper_$10725_$",
                          "typeString": "type(library MockUniswapV2Router02TransferHelper)"
                        }
                      },
                      "id": 8767,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "safeTransferETH",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10724,
                      "src": "16267:51:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 8770,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16267:66:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8771,
                  "nodeType": "ExpressionStatement",
                  "src": "16267:66:26"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "af2979eb",
            "id": 8773,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8721,
                    "name": "deadline",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8717,
                    "src": "15875:8:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 8722,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8720,
                  "name": "ensure",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 8047,
                  "src": "15868:6:26",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_uint256_$",
                    "typeString": "modifier (uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "15868:16:26"
              }
            ],
            "name": "removeLiquidityETHSupportingFeeOnTransferTokens",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8719,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "15859:8:26"
            },
            "parameters": {
              "id": 8718,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8707,
                  "mutability": "mutable",
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8773,
                  "src": "15723:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8706,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "15723:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8709,
                  "mutability": "mutable",
                  "name": "liquidity",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8773,
                  "src": "15742:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8708,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "15742:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8711,
                  "mutability": "mutable",
                  "name": "amountTokenMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8773,
                  "src": "15762:19:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8710,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "15762:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8713,
                  "mutability": "mutable",
                  "name": "amountETHMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8773,
                  "src": "15787:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8712,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "15787:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8715,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8773,
                  "src": "15810:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8714,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "15810:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8717,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8773,
                  "src": "15826:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8716,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "15826:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "15717:126:26"
            },
            "returnParameters": {
              "id": 8725,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8724,
                  "mutability": "mutable",
                  "name": "amountETH",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8773,
                  "src": "15894:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8723,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "15894:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "15893:16:26"
            },
            "scope": 10051,
            "src": "15661:677:26",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              7881
            ],
            "body": {
              "id": 8847,
              "nodeType": "Block",
              "src": "16650:469:26",
              "statements": [
                {
                  "assignments": [
                    8800
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8800,
                      "mutability": "mutable",
                      "name": "pair",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 8847,
                      "src": "16656:12:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 8799,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "16656:7:26",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8807,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 8803,
                        "name": "factory",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8030,
                        "src": "16717:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8804,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8775,
                        "src": "16726:5:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8805,
                        "name": "WETH",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8033,
                        "src": "16733:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 8801,
                        "name": "MockUniswapV2Router02UniswapV2Library",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10567,
                        "src": "16671:37:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                          "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                        }
                      },
                      "id": 8802,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "pairFor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10191,
                      "src": "16671:45:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_address_$",
                        "typeString": "function (address,address,address) view returns (address)"
                      }
                    },
                    "id": 8806,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16671:67:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "16656:82:26"
                },
                {
                  "assignments": [
                    8809
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 8809,
                      "mutability": "mutable",
                      "name": "value",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 8847,
                      "src": "16744:10:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 8808,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "16744:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 8818,
                  "initialValue": {
                    "argumentTypes": null,
                    "condition": {
                      "argumentTypes": null,
                      "id": 8810,
                      "name": "approveMax",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8787,
                      "src": "16757:10:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseExpression": {
                      "argumentTypes": null,
                      "id": 8816,
                      "name": "liquidity",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8777,
                      "src": "16781:9:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8817,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "Conditional",
                    "src": "16757:33:26",
                    "trueExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 8814,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "-",
                          "prefix": true,
                          "src": "16775:2:26",
                          "subExpression": {
                            "argumentTypes": null,
                            "hexValue": "31",
                            "id": 8813,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "16776:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_minus_1_by_1",
                            "typeString": "int_const -1"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_minus_1_by_1",
                            "typeString": "int_const -1"
                          }
                        ],
                        "id": 8812,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "16770:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint256_$",
                          "typeString": "type(uint256)"
                        },
                        "typeName": {
                          "id": 8811,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "16770:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": null,
                            "typeString": null
                          }
                        }
                      },
                      "id": 8815,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16770:8:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "16744:46:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 8823,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "16852:3:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 8824,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "16852:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 8827,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -28,
                            "src": "16878:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_MockUniswapV2Router02_$10051",
                              "typeString": "contract MockUniswapV2Router02"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_MockUniswapV2Router02_$10051",
                              "typeString": "contract MockUniswapV2Router02"
                            }
                          ],
                          "id": 8826,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "16870:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 8825,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "16870:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": null,
                              "typeString": null
                            }
                          }
                        },
                        "id": 8828,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "16870:13:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8829,
                        "name": "value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8809,
                        "src": "16891:5:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8830,
                        "name": "deadline",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8785,
                        "src": "16904:8:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8831,
                        "name": "v",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8789,
                        "src": "16920:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8832,
                        "name": "r",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8791,
                        "src": "16929:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 8833,
                        "name": "s",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8793,
                        "src": "16938:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 8820,
                            "name": "pair",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8800,
                            "src": "16832:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 8819,
                          "name": "MockUniswapV2Router02IUniswapV2Pair",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7531,
                          "src": "16796:35:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531_$",
                            "typeString": "type(contract MockUniswapV2Router02IUniswapV2Pair)"
                          }
                        },
                        "id": 8821,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "16796:41:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531",
                          "typeString": "contract MockUniswapV2Router02IUniswapV2Pair"
                        }
                      },
                      "id": 8822,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "permit",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7406,
                      "src": "16796:48:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,uint256,uint256,uint8,bytes32,bytes32) external"
                      }
                    },
                    "id": 8834,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16796:149:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 8835,
                  "nodeType": "ExpressionStatement",
                  "src": "16796:149:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8845,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 8836,
                      "name": "amountETH",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8797,
                      "src": "16951:9:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 8838,
                          "name": "token",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8775,
                          "src": "17018:5:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8839,
                          "name": "liquidity",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8777,
                          "src": "17031:9:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8840,
                          "name": "amountTokenMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8779,
                          "src": "17048:14:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8841,
                          "name": "amountETHMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8781,
                          "src": "17070:12:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8842,
                          "name": "to",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8783,
                          "src": "17090:2:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8843,
                          "name": "deadline",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8785,
                          "src": "17100:8:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 8837,
                        "name": "removeLiquidityETHSupportingFeeOnTransferTokens",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8773,
                        "src": "16963:47:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_uint256_$",
                          "typeString": "function (address,uint256,uint256,uint256,address,uint256) returns (uint256)"
                        }
                      },
                      "id": 8844,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16963:151:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "16951:163:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 8846,
                  "nodeType": "ExpressionStatement",
                  "src": "16951:163:26"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "5b0d5984",
            "id": 8848,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8795,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "16616:8:26"
            },
            "parameters": {
              "id": 8794,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8775,
                  "mutability": "mutable",
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8848,
                  "src": "16414:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8774,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "16414:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8777,
                  "mutability": "mutable",
                  "name": "liquidity",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8848,
                  "src": "16433:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8776,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "16433:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8779,
                  "mutability": "mutable",
                  "name": "amountTokenMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8848,
                  "src": "16453:19:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8778,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "16453:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8781,
                  "mutability": "mutable",
                  "name": "amountETHMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8848,
                  "src": "16478:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8780,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "16478:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8783,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8848,
                  "src": "16501:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8782,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "16501:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8785,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8848,
                  "src": "16517:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8784,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "16517:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8787,
                  "mutability": "mutable",
                  "name": "approveMax",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8848,
                  "src": "16536:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 8786,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "16536:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8789,
                  "mutability": "mutable",
                  "name": "v",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8848,
                  "src": "16557:7:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 8788,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "16557:5:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8791,
                  "mutability": "mutable",
                  "name": "r",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8848,
                  "src": "16570:9:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8790,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "16570:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8793,
                  "mutability": "mutable",
                  "name": "s",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8848,
                  "src": "16585:9:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 8792,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "16585:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "16408:190:26"
            },
            "returnParameters": {
              "id": 8798,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8797,
                  "mutability": "mutable",
                  "name": "amountETH",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8848,
                  "src": "16634:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8796,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "16634:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "16633:16:26"
            },
            "scope": 10051,
            "src": "16342:777:26",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "body": {
              "id": 8963,
              "nodeType": "Block",
              "src": "17327:703:26",
              "statements": [
                {
                  "body": {
                    "id": 8961,
                    "nodeType": "Block",
                    "src": "17372:654:26",
                    "statements": [
                      {
                        "assignments": [
                          8872,
                          8874
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 8872,
                            "mutability": "mutable",
                            "name": "input",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 8961,
                            "src": "17381:13:26",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            "typeName": {
                              "id": 8871,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "17381:7:26",
                              "stateMutability": "nonpayable",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          },
                          {
                            "constant": false,
                            "id": 8874,
                            "mutability": "mutable",
                            "name": "output",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 8961,
                            "src": "17396:14:26",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            "typeName": {
                              "id": 8873,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "17396:7:26",
                              "stateMutability": "nonpayable",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 8884,
                        "initialValue": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8875,
                                "name": "path",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8854,
                                "src": "17415:4:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 8877,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 8876,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8860,
                                "src": "17420:1:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "17415:7:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 8878,
                                "name": "path",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8854,
                                "src": "17424:4:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 8882,
                              "indexExpression": {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 8881,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "id": 8879,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8860,
                                  "src": "17429:1:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "+",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "31",
                                  "id": 8880,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "17433:1:26",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_1_by_1",
                                    "typeString": "int_const 1"
                                  },
                                  "value": "1"
                                },
                                "src": "17429:5:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "17424:11:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "id": 8883,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "17414:22:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_address_$_t_address_$",
                            "typeString": "tuple(address,address)"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "17380:56:26"
                      },
                      {
                        "assignments": [
                          8886,
                          null
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 8886,
                            "mutability": "mutable",
                            "name": "token0",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 8961,
                            "src": "17445:14:26",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            "typeName": {
                              "id": 8885,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "17445:7:26",
                              "stateMutability": "nonpayable",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          },
                          null
                        ],
                        "id": 8892,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8889,
                              "name": "input",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8872,
                              "src": "17514:5:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8890,
                              "name": "output",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8874,
                              "src": "17521:6:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 8887,
                              "name": "MockUniswapV2Router02UniswapV2Library",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10567,
                              "src": "17465:37:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                                "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                              }
                            },
                            "id": 8888,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sortTokens",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 10171,
                            "src": "17465:48:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_address_$_t_address_$",
                              "typeString": "function (address,address) pure returns (address,address)"
                            }
                          },
                          "id": 8891,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "17465:63:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_address_$_t_address_$",
                            "typeString": "tuple(address,address)"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "17444:84:26"
                      },
                      {
                        "assignments": [
                          8894
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 8894,
                            "mutability": "mutable",
                            "name": "amountOut",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 8961,
                            "src": "17536:14:26",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 8893,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "17536:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 8900,
                        "initialValue": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 8895,
                            "name": "amounts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8851,
                            "src": "17553:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                              "typeString": "uint256[] memory"
                            }
                          },
                          "id": 8899,
                          "indexExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 8898,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 8896,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8860,
                              "src": "17561:1:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "+",
                            "rightExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 8897,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "17565:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "src": "17561:5:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "17553:14:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "17536:31:26"
                      },
                      {
                        "assignments": [
                          8902,
                          8904
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 8902,
                            "mutability": "mutable",
                            "name": "amount0Out",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 8961,
                            "src": "17576:15:26",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 8901,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "17576:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          },
                          {
                            "constant": false,
                            "id": 8904,
                            "mutability": "mutable",
                            "name": "amount1Out",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 8961,
                            "src": "17593:15:26",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 8903,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "17593:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 8921,
                        "initialValue": {
                          "argumentTypes": null,
                          "condition": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            "id": 8907,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 8905,
                              "name": "input",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8872,
                              "src": "17620:5:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "==",
                            "rightExpression": {
                              "argumentTypes": null,
                              "id": 8906,
                              "name": "token0",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8886,
                              "src": "17629:6:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "src": "17620:15:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseExpression": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "id": 8914,
                                "name": "amountOut",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8894,
                                "src": "17662:9:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "30",
                                    "id": 8917,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "17678:1:26",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    },
                                    "value": "0"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    }
                                  ],
                                  "id": 8916,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "17673:4:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_uint256_$",
                                    "typeString": "type(uint256)"
                                  },
                                  "typeName": {
                                    "id": 8915,
                                    "name": "uint",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "17673:4:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": null,
                                      "typeString": null
                                    }
                                  }
                                },
                                "id": 8918,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "17673:7:26",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "id": 8919,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "17661:20:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                              "typeString": "tuple(uint256,uint256)"
                            }
                          },
                          "id": 8920,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "Conditional",
                          "src": "17620:61:26",
                          "trueExpression": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "30",
                                    "id": 8910,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "17644:1:26",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    },
                                    "value": "0"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    }
                                  ],
                                  "id": 8909,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "17639:4:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_uint256_$",
                                    "typeString": "type(uint256)"
                                  },
                                  "typeName": {
                                    "id": 8908,
                                    "name": "uint",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "17639:4:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": null,
                                      "typeString": null
                                    }
                                  }
                                },
                                "id": 8911,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "17639:7:26",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 8912,
                                "name": "amountOut",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8894,
                                "src": "17648:9:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "id": 8913,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "17638:20:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                              "typeString": "tuple(uint256,uint256)"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                            "typeString": "tuple(uint256,uint256)"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "17575:106:26"
                      },
                      {
                        "assignments": [
                          8923
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 8923,
                            "mutability": "mutable",
                            "name": "to",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 8961,
                            "src": "17689:10:26",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            "typeName": {
                              "id": 8922,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "17689:7:26",
                              "stateMutability": "nonpayable",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 8942,
                        "initialValue": {
                          "argumentTypes": null,
                          "condition": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 8929,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 8924,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8860,
                              "src": "17710:1:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "<",
                            "rightExpression": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 8928,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 8925,
                                  "name": "path",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8854,
                                  "src": "17714:4:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                    "typeString": "address[] memory"
                                  }
                                },
                                "id": 8926,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "length",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": null,
                                "src": "17714:11:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "-",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "32",
                                "id": 8927,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "17728:1:26",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_2_by_1",
                                  "typeString": "int_const 2"
                                },
                                "value": "2"
                              },
                              "src": "17714:15:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "17710:19:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseExpression": {
                            "argumentTypes": null,
                            "id": 8940,
                            "name": "_to",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8856,
                            "src": "17830:3:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "id": 8941,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "Conditional",
                          "src": "17710:123:26",
                          "trueExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 8932,
                                "name": "factory",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8030,
                                "src": "17788:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 8933,
                                "name": "output",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8874,
                                "src": "17797:6:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 8934,
                                  "name": "path",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8854,
                                  "src": "17805:4:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                    "typeString": "address[] memory"
                                  }
                                },
                                "id": 8938,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 8937,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "argumentTypes": null,
                                    "id": 8935,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8860,
                                    "src": "17810:1:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "+",
                                  "rightExpression": {
                                    "argumentTypes": null,
                                    "hexValue": "32",
                                    "id": 8936,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "17814:1:26",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_2_by_1",
                                      "typeString": "int_const 2"
                                    },
                                    "value": "2"
                                  },
                                  "src": "17810:5:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "17805:11:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 8930,
                                "name": "MockUniswapV2Router02UniswapV2Library",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10567,
                                "src": "17742:37:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                                  "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                                }
                              },
                              "id": 8931,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "pairFor",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 10191,
                              "src": "17742:45:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_address_$",
                                "typeString": "function (address,address,address) view returns (address)"
                              }
                            },
                            "id": 8939,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "17742:75:26",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "17689:144:26"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 8952,
                              "name": "amount0Out",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8902,
                              "src": "17978:10:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8953,
                              "name": "amount1Out",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8904,
                              "src": "17990:10:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 8954,
                              "name": "to",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8923,
                              "src": "18002:2:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "hexValue": "30",
                                  "id": 8957,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "18016:1:26",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  }
                                ],
                                "id": 8956,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "NewExpression",
                                "src": "18006:9:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
                                  "typeString": "function (uint256) pure returns (bytes memory)"
                                },
                                "typeName": {
                                  "id": 8955,
                                  "name": "bytes",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "18010:5:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_storage_ptr",
                                    "typeString": "bytes"
                                  }
                                }
                              },
                              "id": 8958,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "18006:12:26",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "id": 8946,
                                      "name": "factory",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8030,
                                      "src": "17932:7:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 8947,
                                      "name": "input",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8872,
                                      "src": "17941:5:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 8948,
                                      "name": "output",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8874,
                                      "src": "17948:6:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      },
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      },
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 8944,
                                      "name": "MockUniswapV2Router02UniswapV2Library",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 10567,
                                      "src": "17886:37:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                                        "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                                      }
                                    },
                                    "id": 8945,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "pairFor",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 10191,
                                    "src": "17886:45:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_address_$",
                                      "typeString": "function (address,address,address) view returns (address)"
                                    }
                                  },
                                  "id": 8949,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "17886:69:26",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                ],
                                "id": 8943,
                                "name": "MockUniswapV2Router02IUniswapV2Pair",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7531,
                                "src": "17841:35:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531_$",
                                  "typeString": "type(contract MockUniswapV2Router02IUniswapV2Pair)"
                                }
                              },
                              "id": 8950,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "17841:122:26",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531",
                                "typeString": "contract MockUniswapV2Router02IUniswapV2Pair"
                              }
                            },
                            "id": 8951,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "swap",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 7515,
                            "src": "17841:136:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$",
                              "typeString": "function (uint256,uint256,address,bytes memory) external"
                            }
                          },
                          "id": 8959,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "17841:178:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 8960,
                        "nodeType": "ExpressionStatement",
                        "src": "17841:178:26"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 8867,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 8862,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8860,
                      "src": "17346:1:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 8866,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 8863,
                          "name": "path",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8854,
                          "src": "17350:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 8864,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "17350:11:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 8865,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "17364:1:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "17350:15:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "17346:19:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 8962,
                  "initializationExpression": {
                    "assignments": [
                      8860
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 8860,
                        "mutability": "mutable",
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "overrides": null,
                        "scope": 8962,
                        "src": "17338:6:26",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 8859,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "17338:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 8861,
                    "initialValue": null,
                    "nodeType": "VariableDeclarationStatement",
                    "src": "17338:6:26"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 8869,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "17367:3:26",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 8868,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8860,
                        "src": "17367:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8870,
                    "nodeType": "ExpressionStatement",
                    "src": "17367:3:26"
                  },
                  "nodeType": "ForStatement",
                  "src": "17333:693:26"
                }
              ]
            },
            "documentation": null,
            "id": 8964,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_swap",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 8857,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8851,
                  "mutability": "mutable",
                  "name": "amounts",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8964,
                  "src": "17240:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8849,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "17240:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8850,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "17240:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8854,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8964,
                  "src": "17267:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8852,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "17267:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 8853,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "17267:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8856,
                  "mutability": "mutable",
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 8964,
                  "src": "17294:11:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8855,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "17294:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "17234:75:26"
            },
            "returnParameters": {
              "id": 8858,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "17327:0:26"
            },
            "scope": 10051,
            "src": "17220:810:26",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "baseFunctions": [
              7700
            ],
            "body": {
              "id": 9035,
              "nodeType": "Block",
              "src": "18253:445:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 8992,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 8985,
                      "name": "amounts",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8983,
                      "src": "18259:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 8988,
                          "name": "factory",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8030,
                          "src": "18321:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8989,
                          "name": "amountIn",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8966,
                          "src": "18330:8:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 8990,
                          "name": "path",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8971,
                          "src": "18340:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                            "typeString": "address[] calldata"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                            "typeString": "address[] calldata"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 8986,
                          "name": "MockUniswapV2Router02UniswapV2Library",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10567,
                          "src": "18269:37:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                            "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                          }
                        },
                        "id": 8987,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "getAmountsOut",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 10481,
                        "src": "18269:51:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$",
                          "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)"
                        }
                      },
                      "id": 8991,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "18269:76:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[] memory"
                      }
                    },
                    "src": "18259:86:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "id": 8993,
                  "nodeType": "ExpressionStatement",
                  "src": "18259:86:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 9002,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 8995,
                            "name": "amounts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8983,
                            "src": "18366:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                              "typeString": "uint256[] memory"
                            }
                          },
                          "id": 9000,
                          "indexExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 8999,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 8996,
                                "name": "amounts",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8983,
                                "src": "18374:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                  "typeString": "uint256[] memory"
                                }
                              },
                              "id": 8997,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "length",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "18374:14:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "-",
                            "rightExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 8998,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "18391:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "src": "18374:18:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "18366:27:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 9001,
                          "name": "amountOutMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8968,
                          "src": "18397:12:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "18366:43:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e54",
                        "id": 9003,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "18417:45:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_d4ea67bea551891ab36be726b8e631181246034dffcfd5c0bbfad1e9d1729432",
                          "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\""
                        },
                        "value": "UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_d4ea67bea551891ab36be726b8e631181246034dffcfd5c0bbfad1e9d1729432",
                          "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\""
                        }
                      ],
                      "id": 8994,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "18351:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9004,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18351:117:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9005,
                  "nodeType": "ExpressionStatement",
                  "src": "18351:117:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 9009,
                          "name": "path",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8971,
                          "src": "18534:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                            "typeString": "address[] calldata"
                          }
                        },
                        "id": 9011,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 9010,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "18539:1:26",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "18534:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 9012,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "18549:3:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 9013,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "18549:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 9016,
                            "name": "factory",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8030,
                            "src": "18613:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 9017,
                              "name": "path",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8971,
                              "src": "18622:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                "typeString": "address[] calldata"
                              }
                            },
                            "id": 9019,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 9018,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "18627:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "18622:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 9020,
                              "name": "path",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8971,
                              "src": "18631:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                "typeString": "address[] calldata"
                              }
                            },
                            "id": 9022,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 9021,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "18636:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "18631:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 9014,
                            "name": "MockUniswapV2Router02UniswapV2Library",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10567,
                            "src": "18567:37:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                              "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                            }
                          },
                          "id": 9015,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "pairFor",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10191,
                          "src": "18567:45:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_address_$",
                            "typeString": "function (address,address,address) view returns (address)"
                          }
                        },
                        "id": 9023,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "18567:72:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 9024,
                          "name": "amounts",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8983,
                          "src": "18647:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                            "typeString": "uint256[] memory"
                          }
                        },
                        "id": 9026,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 9025,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "18655:1:26",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "18647:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9006,
                        "name": "MockUniswapV2Router02TransferHelper",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10725,
                        "src": "18474:35:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02TransferHelper_$10725_$",
                          "typeString": "type(library MockUniswapV2Router02TransferHelper)"
                        }
                      },
                      "id": 9008,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "safeTransferFrom",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10699,
                      "src": "18474:52:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,address,address,uint256)"
                      }
                    },
                    "id": 9027,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18474:189:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9028,
                  "nodeType": "ExpressionStatement",
                  "src": "18474:189:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9030,
                        "name": "amounts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8983,
                        "src": "18675:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9031,
                        "name": "path",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8971,
                        "src": "18684:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9032,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8973,
                        "src": "18690:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        },
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 9029,
                      "name": "_swap",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8964,
                      "src": "18669:5:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$",
                        "typeString": "function (uint256[] memory,address[] memory,address)"
                      }
                    },
                    "id": 9033,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18669:24:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9034,
                  "nodeType": "ExpressionStatement",
                  "src": "18669:24:26"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "38ed1739",
            "id": 9036,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 8979,
                    "name": "deadline",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 8975,
                    "src": "18211:8:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 8980,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 8978,
                  "name": "ensure",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 8047,
                  "src": "18204:6:26",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_uint256_$",
                    "typeString": "modifier (uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "18204:16:26"
              }
            ],
            "name": "swapExactTokensForTokens",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 8977,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "18195:8:26"
            },
            "parameters": {
              "id": 8976,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8966,
                  "mutability": "mutable",
                  "name": "amountIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9036,
                  "src": "18073:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8965,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "18073:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8968,
                  "mutability": "mutable",
                  "name": "amountOutMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9036,
                  "src": "18092:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8967,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "18092:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8971,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9036,
                  "src": "18115:23:26",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8969,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "18115:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 8970,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "18115:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8973,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9036,
                  "src": "18144:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 8972,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "18144:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 8975,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9036,
                  "src": "18160:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 8974,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "18160:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "18067:110:26"
            },
            "returnParameters": {
              "id": 8984,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 8983,
                  "mutability": "mutable",
                  "name": "amounts",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9036,
                  "src": "18230:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 8981,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "18230:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 8982,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "18230:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "18229:23:26"
            },
            "scope": 10051,
            "src": "18034:664:26",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7717
            ],
            "body": {
              "id": 9104,
              "nodeType": "Block",
              "src": "18921:405:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 9064,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 9057,
                      "name": "amounts",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9055,
                      "src": "18927:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 9060,
                          "name": "factory",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8030,
                          "src": "18988:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 9061,
                          "name": "amountOut",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9038,
                          "src": "18997:9:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 9062,
                          "name": "path",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9043,
                          "src": "19008:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                            "typeString": "address[] calldata"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                            "typeString": "address[] calldata"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 9058,
                          "name": "MockUniswapV2Router02UniswapV2Library",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10567,
                          "src": "18937:37:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                            "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                          }
                        },
                        "id": 9059,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "getAmountsIn",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 10566,
                        "src": "18937:50:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$",
                          "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)"
                        }
                      },
                      "id": 9063,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "18937:76:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[] memory"
                      }
                    },
                    "src": "18927:86:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "id": 9065,
                  "nodeType": "ExpressionStatement",
                  "src": "18927:86:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 9071,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 9067,
                            "name": "amounts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9055,
                            "src": "19027:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                              "typeString": "uint256[] memory"
                            }
                          },
                          "id": 9069,
                          "indexExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 9068,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "19035:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "19027:10:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 9070,
                          "name": "amountInMax",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9040,
                          "src": "19041:11:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "19027:25:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54",
                        "id": 9072,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "19054:41:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_bb18004cd22eaad7ea393d184ea6ac1df1428db36bb6fbff8af486232d68ae2c",
                          "typeString": "literal_string \"UniswapV2Router: EXCESSIVE_INPUT_AMOUNT\""
                        },
                        "value": "UniswapV2Router: EXCESSIVE_INPUT_AMOUNT"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_bb18004cd22eaad7ea393d184ea6ac1df1428db36bb6fbff8af486232d68ae2c",
                          "typeString": "literal_string \"UniswapV2Router: EXCESSIVE_INPUT_AMOUNT\""
                        }
                      ],
                      "id": 9066,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "19019:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9073,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19019:77:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9074,
                  "nodeType": "ExpressionStatement",
                  "src": "19019:77:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 9078,
                          "name": "path",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9043,
                          "src": "19162:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                            "typeString": "address[] calldata"
                          }
                        },
                        "id": 9080,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 9079,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "19167:1:26",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "19162:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 9081,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "19177:3:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 9082,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "19177:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 9085,
                            "name": "factory",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8030,
                            "src": "19241:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 9086,
                              "name": "path",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9043,
                              "src": "19250:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                "typeString": "address[] calldata"
                              }
                            },
                            "id": 9088,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 9087,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "19255:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "19250:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 9089,
                              "name": "path",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9043,
                              "src": "19259:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                "typeString": "address[] calldata"
                              }
                            },
                            "id": 9091,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 9090,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "19264:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "19259:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 9083,
                            "name": "MockUniswapV2Router02UniswapV2Library",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10567,
                            "src": "19195:37:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                              "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                            }
                          },
                          "id": 9084,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "pairFor",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10191,
                          "src": "19195:45:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_address_$",
                            "typeString": "function (address,address,address) view returns (address)"
                          }
                        },
                        "id": 9092,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "19195:72:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 9093,
                          "name": "amounts",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9055,
                          "src": "19275:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                            "typeString": "uint256[] memory"
                          }
                        },
                        "id": 9095,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 9094,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "19283:1:26",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "19275:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9075,
                        "name": "MockUniswapV2Router02TransferHelper",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10725,
                        "src": "19102:35:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02TransferHelper_$10725_$",
                          "typeString": "type(library MockUniswapV2Router02TransferHelper)"
                        }
                      },
                      "id": 9077,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "safeTransferFrom",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10699,
                      "src": "19102:52:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,address,address,uint256)"
                      }
                    },
                    "id": 9096,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19102:189:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9097,
                  "nodeType": "ExpressionStatement",
                  "src": "19102:189:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9099,
                        "name": "amounts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9055,
                        "src": "19303:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9100,
                        "name": "path",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9043,
                        "src": "19312:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9101,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9045,
                        "src": "19318:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        },
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 9098,
                      "name": "_swap",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8964,
                      "src": "19297:5:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$",
                        "typeString": "function (uint256[] memory,address[] memory,address)"
                      }
                    },
                    "id": 9102,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19297:24:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9103,
                  "nodeType": "ExpressionStatement",
                  "src": "19297:24:26"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "8803dbee",
            "id": 9105,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 9051,
                    "name": "deadline",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 9047,
                    "src": "18879:8:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 9052,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 9050,
                  "name": "ensure",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 8047,
                  "src": "18872:6:26",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_uint256_$",
                    "typeString": "modifier (uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "18872:16:26"
              }
            ],
            "name": "swapTokensForExactTokens",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 9049,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "18863:8:26"
            },
            "parameters": {
              "id": 9048,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9038,
                  "mutability": "mutable",
                  "name": "amountOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9105,
                  "src": "18741:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9037,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "18741:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9040,
                  "mutability": "mutable",
                  "name": "amountInMax",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9105,
                  "src": "18761:16:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9039,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "18761:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9043,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9105,
                  "src": "18783:23:26",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9041,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "18783:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 9042,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "18783:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9045,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9105,
                  "src": "18812:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9044,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "18812:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9047,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9105,
                  "src": "18828:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9046,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "18828:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "18735:110:26"
            },
            "returnParameters": {
              "id": 9056,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9055,
                  "mutability": "mutable",
                  "name": "amounts",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9105,
                  "src": "18898:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9053,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "18898:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 9054,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "18898:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "18897:23:26"
            },
            "scope": 10051,
            "src": "18702:624:26",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7732
            ],
            "body": {
              "id": 9192,
              "nodeType": "Block",
              "src": "19535:558:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 9129,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 9125,
                            "name": "path",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9110,
                            "src": "19549:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                              "typeString": "address[] calldata"
                            }
                          },
                          "id": 9127,
                          "indexExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 9126,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "19554:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "19549:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 9128,
                          "name": "WETH",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8033,
                          "src": "19560:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "19549:15:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "556e69737761705632526f757465723a20494e56414c49445f50415448",
                        "id": 9130,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "19566:31:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6435d47a7cef43416f8f596d66beab1b30970728f1435d971438f7d89b0cfb94",
                          "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\""
                        },
                        "value": "UniswapV2Router: INVALID_PATH"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6435d47a7cef43416f8f596d66beab1b30970728f1435d971438f7d89b0cfb94",
                          "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\""
                        }
                      ],
                      "id": 9124,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "19541:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9131,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19541:57:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9132,
                  "nodeType": "ExpressionStatement",
                  "src": "19541:57:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 9141,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 9133,
                      "name": "amounts",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9122,
                      "src": "19604:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 9136,
                          "name": "factory",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8030,
                          "src": "19666:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 9137,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -15,
                            "src": "19675:3:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 9138,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "19675:9:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 9139,
                          "name": "path",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9110,
                          "src": "19686:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                            "typeString": "address[] calldata"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                            "typeString": "address[] calldata"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 9134,
                          "name": "MockUniswapV2Router02UniswapV2Library",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10567,
                          "src": "19614:37:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                            "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                          }
                        },
                        "id": 9135,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "getAmountsOut",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 10481,
                        "src": "19614:51:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$",
                          "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)"
                        }
                      },
                      "id": 9140,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "19614:77:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[] memory"
                      }
                    },
                    "src": "19604:87:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "id": 9142,
                  "nodeType": "ExpressionStatement",
                  "src": "19604:87:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 9151,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 9144,
                            "name": "amounts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9122,
                            "src": "19712:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                              "typeString": "uint256[] memory"
                            }
                          },
                          "id": 9149,
                          "indexExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 9148,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 9145,
                                "name": "amounts",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9122,
                                "src": "19720:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                  "typeString": "uint256[] memory"
                                }
                              },
                              "id": 9146,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "length",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "19720:14:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "-",
                            "rightExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 9147,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "19737:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "src": "19720:18:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "19712:27:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 9150,
                          "name": "amountOutMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9107,
                          "src": "19743:12:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "19712:43:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e54",
                        "id": 9152,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "19763:45:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_d4ea67bea551891ab36be726b8e631181246034dffcfd5c0bbfad1e9d1729432",
                          "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\""
                        },
                        "value": "UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_d4ea67bea551891ab36be726b8e631181246034dffcfd5c0bbfad1e9d1729432",
                          "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\""
                        }
                      ],
                      "id": 9143,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "19697:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9153,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19697:117:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9154,
                  "nodeType": "ExpressionStatement",
                  "src": "19697:117:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 9156,
                              "name": "WETH",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8033,
                              "src": "19847:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 9155,
                            "name": "MockUniswapV2Router02IWETH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8022,
                            "src": "19820:26:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IWETH_$8022_$",
                              "typeString": "type(contract MockUniswapV2Router02IWETH)"
                            }
                          },
                          "id": 9157,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "19820:32:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_MockUniswapV2Router02IWETH_$8022",
                            "typeString": "contract MockUniswapV2Router02IWETH"
                          }
                        },
                        "id": 9158,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "deposit",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 8007,
                        "src": "19820:40:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_payable$__$returns$__$",
                          "typeString": "function () payable external"
                        }
                      },
                      "id": 9162,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "names": [
                        "value"
                      ],
                      "nodeType": "FunctionCallOptions",
                      "options": [
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 9159,
                            "name": "amounts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9122,
                            "src": "19868:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                              "typeString": "uint256[] memory"
                            }
                          },
                          "id": 9161,
                          "indexExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 9160,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "19876:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "19868:10:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "src": "19820:59:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_payable$__$returns$__$value",
                        "typeString": "function () payable external"
                      }
                    },
                    "id": 9163,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19820:61:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9164,
                  "nodeType": "ExpressionStatement",
                  "src": "19820:61:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 9172,
                                "name": "factory",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8030,
                                "src": "19998:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 9173,
                                  "name": "path",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9110,
                                  "src": "20007:4:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                    "typeString": "address[] calldata"
                                  }
                                },
                                "id": 9175,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "30",
                                  "id": 9174,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "20012:1:26",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "20007:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 9176,
                                  "name": "path",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9110,
                                  "src": "20016:4:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                    "typeString": "address[] calldata"
                                  }
                                },
                                "id": 9178,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "31",
                                  "id": 9177,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "20021:1:26",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_1_by_1",
                                    "typeString": "int_const 1"
                                  },
                                  "value": "1"
                                },
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "20016:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 9170,
                                "name": "MockUniswapV2Router02UniswapV2Library",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10567,
                                "src": "19952:37:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                                  "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                                }
                              },
                              "id": 9171,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "pairFor",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 10191,
                              "src": "19952:45:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_address_$",
                                "typeString": "function (address,address,address) view returns (address)"
                              }
                            },
                            "id": 9179,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "19952:72:26",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 9180,
                              "name": "amounts",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9122,
                              "src": "20034:7:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 9182,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 9181,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "20042:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "20034:10:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 9167,
                                "name": "WETH",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8033,
                                "src": "19928:4:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "id": 9166,
                              "name": "MockUniswapV2Router02IWETH",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8022,
                              "src": "19901:26:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IWETH_$8022_$",
                                "typeString": "type(contract MockUniswapV2Router02IWETH)"
                              }
                            },
                            "id": 9168,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "19901:32:26",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_MockUniswapV2Router02IWETH_$8022",
                              "typeString": "contract MockUniswapV2Router02IWETH"
                            }
                          },
                          "id": 9169,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "transfer",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8016,
                          "src": "19901:41:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                            "typeString": "function (address,uint256) external returns (bool)"
                          }
                        },
                        "id": 9183,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "19901:151:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 9165,
                      "name": "assert",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -3,
                      "src": "19887:6:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 9184,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19887:171:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9185,
                  "nodeType": "ExpressionStatement",
                  "src": "19887:171:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9187,
                        "name": "amounts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9122,
                        "src": "20070:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9188,
                        "name": "path",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9110,
                        "src": "20079:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9189,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9112,
                        "src": "20085:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        },
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 9186,
                      "name": "_swap",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8964,
                      "src": "20064:5:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$",
                        "typeString": "function (uint256[] memory,address[] memory,address)"
                      }
                    },
                    "id": 9190,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "20064:24:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9191,
                  "nodeType": "ExpressionStatement",
                  "src": "20064:24:26"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "7ff36ab5",
            "id": 9193,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 9118,
                    "name": "deadline",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 9114,
                    "src": "19493:8:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 9119,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 9117,
                  "name": "ensure",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 8047,
                  "src": "19486:6:26",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_uint256_$",
                    "typeString": "modifier (uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "19486:16:26"
              }
            ],
            "name": "swapExactETHForTokens",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 9116,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "19477:8:26"
            },
            "parameters": {
              "id": 9115,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9107,
                  "mutability": "mutable",
                  "name": "amountOutMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9193,
                  "src": "19366:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9106,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "19366:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9110,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9193,
                  "src": "19389:23:26",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9108,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "19389:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 9109,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "19389:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9112,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9193,
                  "src": "19418:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9111,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "19418:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9114,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9193,
                  "src": "19434:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9113,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "19434:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "19360:91:26"
            },
            "returnParameters": {
              "id": 9123,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9122,
                  "mutability": "mutable",
                  "name": "amounts",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9193,
                  "src": "19512:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9120,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "19512:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 9121,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "19512:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "19511:23:26"
            },
            "scope": 10051,
            "src": "19330:763:26",
            "stateMutability": "payable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7749
            ],
            "body": {
              "id": 9300,
              "nodeType": "Block",
              "src": "20313:659:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 9222,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 9215,
                            "name": "path",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9200,
                            "src": "20327:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                              "typeString": "address[] calldata"
                            }
                          },
                          "id": 9220,
                          "indexExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 9219,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 9216,
                                "name": "path",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9200,
                                "src": "20332:4:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                  "typeString": "address[] calldata"
                                }
                              },
                              "id": 9217,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "length",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "20332:11:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "-",
                            "rightExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 9218,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "20346:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "src": "20332:15:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "20327:21:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 9221,
                          "name": "WETH",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8033,
                          "src": "20352:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "20327:29:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "556e69737761705632526f757465723a20494e56414c49445f50415448",
                        "id": 9223,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "20358:31:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6435d47a7cef43416f8f596d66beab1b30970728f1435d971438f7d89b0cfb94",
                          "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\""
                        },
                        "value": "UniswapV2Router: INVALID_PATH"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6435d47a7cef43416f8f596d66beab1b30970728f1435d971438f7d89b0cfb94",
                          "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\""
                        }
                      ],
                      "id": 9214,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "20319:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9224,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "20319:71:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9225,
                  "nodeType": "ExpressionStatement",
                  "src": "20319:71:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 9233,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 9226,
                      "name": "amounts",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9212,
                      "src": "20396:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 9229,
                          "name": "factory",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8030,
                          "src": "20457:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 9230,
                          "name": "amountOut",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9195,
                          "src": "20466:9:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 9231,
                          "name": "path",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9200,
                          "src": "20477:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                            "typeString": "address[] calldata"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                            "typeString": "address[] calldata"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 9227,
                          "name": "MockUniswapV2Router02UniswapV2Library",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10567,
                          "src": "20406:37:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                            "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                          }
                        },
                        "id": 9228,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "getAmountsIn",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 10566,
                        "src": "20406:50:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$",
                          "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)"
                        }
                      },
                      "id": 9232,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "20406:76:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[] memory"
                      }
                    },
                    "src": "20396:86:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "id": 9234,
                  "nodeType": "ExpressionStatement",
                  "src": "20396:86:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 9240,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 9236,
                            "name": "amounts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9212,
                            "src": "20496:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                              "typeString": "uint256[] memory"
                            }
                          },
                          "id": 9238,
                          "indexExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 9237,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "20504:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "20496:10:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 9239,
                          "name": "amountInMax",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9197,
                          "src": "20510:11:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "20496:25:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54",
                        "id": 9241,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "20523:41:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_bb18004cd22eaad7ea393d184ea6ac1df1428db36bb6fbff8af486232d68ae2c",
                          "typeString": "literal_string \"UniswapV2Router: EXCESSIVE_INPUT_AMOUNT\""
                        },
                        "value": "UniswapV2Router: EXCESSIVE_INPUT_AMOUNT"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_bb18004cd22eaad7ea393d184ea6ac1df1428db36bb6fbff8af486232d68ae2c",
                          "typeString": "literal_string \"UniswapV2Router: EXCESSIVE_INPUT_AMOUNT\""
                        }
                      ],
                      "id": 9235,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "20488:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9242,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "20488:77:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9243,
                  "nodeType": "ExpressionStatement",
                  "src": "20488:77:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 9247,
                          "name": "path",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9200,
                          "src": "20631:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                            "typeString": "address[] calldata"
                          }
                        },
                        "id": 9249,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 9248,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "20636:1:26",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "20631:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 9250,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "20646:3:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 9251,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "20646:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 9254,
                            "name": "factory",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8030,
                            "src": "20710:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 9255,
                              "name": "path",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9200,
                              "src": "20719:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                "typeString": "address[] calldata"
                              }
                            },
                            "id": 9257,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 9256,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "20724:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "20719:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 9258,
                              "name": "path",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9200,
                              "src": "20728:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                "typeString": "address[] calldata"
                              }
                            },
                            "id": 9260,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 9259,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "20733:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "20728:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 9252,
                            "name": "MockUniswapV2Router02UniswapV2Library",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10567,
                            "src": "20664:37:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                              "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                            }
                          },
                          "id": 9253,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "pairFor",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10191,
                          "src": "20664:45:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_address_$",
                            "typeString": "function (address,address,address) view returns (address)"
                          }
                        },
                        "id": 9261,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "20664:72:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 9262,
                          "name": "amounts",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9212,
                          "src": "20744:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                            "typeString": "uint256[] memory"
                          }
                        },
                        "id": 9264,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 9263,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "20752:1:26",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "20744:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9244,
                        "name": "MockUniswapV2Router02TransferHelper",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10725,
                        "src": "20571:35:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02TransferHelper_$10725_$",
                          "typeString": "type(library MockUniswapV2Router02TransferHelper)"
                        }
                      },
                      "id": 9246,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "safeTransferFrom",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10699,
                      "src": "20571:52:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,address,address,uint256)"
                      }
                    },
                    "id": 9265,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "20571:189:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9266,
                  "nodeType": "ExpressionStatement",
                  "src": "20571:189:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9268,
                        "name": "amounts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9212,
                        "src": "20772:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9269,
                        "name": "path",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9200,
                        "src": "20781:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 9272,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -28,
                            "src": "20795:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_MockUniswapV2Router02_$10051",
                              "typeString": "contract MockUniswapV2Router02"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_MockUniswapV2Router02_$10051",
                              "typeString": "contract MockUniswapV2Router02"
                            }
                          ],
                          "id": 9271,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "20787:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 9270,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "20787:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": null,
                              "typeString": null
                            }
                          }
                        },
                        "id": 9273,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "20787:13:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        },
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        },
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      ],
                      "id": 9267,
                      "name": "_swap",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8964,
                      "src": "20766:5:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$",
                        "typeString": "function (uint256[] memory,address[] memory,address)"
                      }
                    },
                    "id": 9274,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "20766:35:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9275,
                  "nodeType": "ExpressionStatement",
                  "src": "20766:35:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 9280,
                          "name": "amounts",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9212,
                          "src": "20849:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                            "typeString": "uint256[] memory"
                          }
                        },
                        "id": 9285,
                        "indexExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 9284,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 9281,
                              "name": "amounts",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9212,
                              "src": "20857:7:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 9282,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "20857:14:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "-",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "31",
                            "id": 9283,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "20874:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "src": "20857:18:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "20849:27:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 9277,
                            "name": "WETH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8033,
                            "src": "20834:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 9276,
                          "name": "MockUniswapV2Router02IWETH",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8022,
                          "src": "20807:26:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IWETH_$8022_$",
                            "typeString": "type(contract MockUniswapV2Router02IWETH)"
                          }
                        },
                        "id": 9278,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "20807:32:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MockUniswapV2Router02IWETH_$8022",
                          "typeString": "contract MockUniswapV2Router02IWETH"
                        }
                      },
                      "id": 9279,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "withdraw",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8021,
                      "src": "20807:41:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256) external"
                      }
                    },
                    "id": 9286,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "20807:70:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9287,
                  "nodeType": "ExpressionStatement",
                  "src": "20807:70:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9291,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9202,
                        "src": "20935:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 9292,
                          "name": "amounts",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9212,
                          "src": "20939:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                            "typeString": "uint256[] memory"
                          }
                        },
                        "id": 9297,
                        "indexExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 9296,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 9293,
                              "name": "amounts",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9212,
                              "src": "20947:7:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 9294,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "20947:14:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "-",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "31",
                            "id": 9295,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "20964:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "src": "20947:18:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "20939:27:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9288,
                        "name": "MockUniswapV2Router02TransferHelper",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10725,
                        "src": "20883:35:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02TransferHelper_$10725_$",
                          "typeString": "type(library MockUniswapV2Router02TransferHelper)"
                        }
                      },
                      "id": 9290,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "safeTransferETH",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10724,
                      "src": "20883:51:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 9298,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "20883:84:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9299,
                  "nodeType": "ExpressionStatement",
                  "src": "20883:84:26"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "4a25d94a",
            "id": 9301,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 9208,
                    "name": "deadline",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 9204,
                    "src": "20271:8:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 9209,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 9207,
                  "name": "ensure",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 8047,
                  "src": "20264:6:26",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_uint256_$",
                    "typeString": "modifier (uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "20264:16:26"
              }
            ],
            "name": "swapTokensForExactETH",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 9206,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "20255:8:26"
            },
            "parameters": {
              "id": 9205,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9195,
                  "mutability": "mutable",
                  "name": "amountOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9301,
                  "src": "20133:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9194,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "20133:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9197,
                  "mutability": "mutable",
                  "name": "amountInMax",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9301,
                  "src": "20153:16:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9196,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "20153:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9200,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9301,
                  "src": "20175:23:26",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9198,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "20175:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 9199,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "20175:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9202,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9301,
                  "src": "20204:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9201,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "20204:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9204,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9301,
                  "src": "20220:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9203,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "20220:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "20127:110:26"
            },
            "returnParameters": {
              "id": 9213,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9212,
                  "mutability": "mutable",
                  "name": "amounts",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9301,
                  "src": "20290:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9210,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "20290:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 9211,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "20290:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "20289:23:26"
            },
            "scope": 10051,
            "src": "20097:875:26",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7766
            ],
            "body": {
              "id": 9411,
              "nodeType": "Block",
              "src": "21192:699:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 9330,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 9323,
                            "name": "path",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9308,
                            "src": "21206:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                              "typeString": "address[] calldata"
                            }
                          },
                          "id": 9328,
                          "indexExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 9327,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 9324,
                                "name": "path",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9308,
                                "src": "21211:4:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                  "typeString": "address[] calldata"
                                }
                              },
                              "id": 9325,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "length",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "21211:11:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "-",
                            "rightExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 9326,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "21225:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "src": "21211:15:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "21206:21:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 9329,
                          "name": "WETH",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8033,
                          "src": "21231:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "21206:29:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "556e69737761705632526f757465723a20494e56414c49445f50415448",
                        "id": 9331,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "21237:31:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6435d47a7cef43416f8f596d66beab1b30970728f1435d971438f7d89b0cfb94",
                          "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\""
                        },
                        "value": "UniswapV2Router: INVALID_PATH"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6435d47a7cef43416f8f596d66beab1b30970728f1435d971438f7d89b0cfb94",
                          "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\""
                        }
                      ],
                      "id": 9322,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "21198:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9332,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "21198:71:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9333,
                  "nodeType": "ExpressionStatement",
                  "src": "21198:71:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 9341,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 9334,
                      "name": "amounts",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9320,
                      "src": "21275:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 9337,
                          "name": "factory",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8030,
                          "src": "21337:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 9338,
                          "name": "amountIn",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9303,
                          "src": "21346:8:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 9339,
                          "name": "path",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9308,
                          "src": "21356:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                            "typeString": "address[] calldata"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                            "typeString": "address[] calldata"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 9335,
                          "name": "MockUniswapV2Router02UniswapV2Library",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10567,
                          "src": "21285:37:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                            "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                          }
                        },
                        "id": 9336,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "getAmountsOut",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 10481,
                        "src": "21285:51:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$",
                          "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)"
                        }
                      },
                      "id": 9340,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "21285:76:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[] memory"
                      }
                    },
                    "src": "21275:86:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "id": 9342,
                  "nodeType": "ExpressionStatement",
                  "src": "21275:86:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 9351,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 9344,
                            "name": "amounts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9320,
                            "src": "21382:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                              "typeString": "uint256[] memory"
                            }
                          },
                          "id": 9349,
                          "indexExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 9348,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 9345,
                                "name": "amounts",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9320,
                                "src": "21390:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                  "typeString": "uint256[] memory"
                                }
                              },
                              "id": 9346,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "length",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "21390:14:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "-",
                            "rightExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 9347,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "21407:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "src": "21390:18:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "21382:27:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 9350,
                          "name": "amountOutMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9305,
                          "src": "21413:12:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "21382:43:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e54",
                        "id": 9352,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "21433:45:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_d4ea67bea551891ab36be726b8e631181246034dffcfd5c0bbfad1e9d1729432",
                          "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\""
                        },
                        "value": "UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_d4ea67bea551891ab36be726b8e631181246034dffcfd5c0bbfad1e9d1729432",
                          "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\""
                        }
                      ],
                      "id": 9343,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "21367:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9353,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "21367:117:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9354,
                  "nodeType": "ExpressionStatement",
                  "src": "21367:117:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 9358,
                          "name": "path",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9308,
                          "src": "21550:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                            "typeString": "address[] calldata"
                          }
                        },
                        "id": 9360,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 9359,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "21555:1:26",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "21550:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 9361,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "21565:3:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 9362,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "21565:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 9365,
                            "name": "factory",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8030,
                            "src": "21629:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 9366,
                              "name": "path",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9308,
                              "src": "21638:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                "typeString": "address[] calldata"
                              }
                            },
                            "id": 9368,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 9367,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "21643:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "21638:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 9369,
                              "name": "path",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9308,
                              "src": "21647:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                "typeString": "address[] calldata"
                              }
                            },
                            "id": 9371,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 9370,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "21652:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "21647:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 9363,
                            "name": "MockUniswapV2Router02UniswapV2Library",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10567,
                            "src": "21583:37:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                              "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                            }
                          },
                          "id": 9364,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "pairFor",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10191,
                          "src": "21583:45:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_address_$",
                            "typeString": "function (address,address,address) view returns (address)"
                          }
                        },
                        "id": 9372,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "21583:72:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 9373,
                          "name": "amounts",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9320,
                          "src": "21663:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                            "typeString": "uint256[] memory"
                          }
                        },
                        "id": 9375,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 9374,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "21671:1:26",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "21663:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9355,
                        "name": "MockUniswapV2Router02TransferHelper",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10725,
                        "src": "21490:35:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02TransferHelper_$10725_$",
                          "typeString": "type(library MockUniswapV2Router02TransferHelper)"
                        }
                      },
                      "id": 9357,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "safeTransferFrom",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10699,
                      "src": "21490:52:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,address,address,uint256)"
                      }
                    },
                    "id": 9376,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "21490:189:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9377,
                  "nodeType": "ExpressionStatement",
                  "src": "21490:189:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9379,
                        "name": "amounts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9320,
                        "src": "21691:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9380,
                        "name": "path",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9308,
                        "src": "21700:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 9383,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -28,
                            "src": "21714:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_MockUniswapV2Router02_$10051",
                              "typeString": "contract MockUniswapV2Router02"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_MockUniswapV2Router02_$10051",
                              "typeString": "contract MockUniswapV2Router02"
                            }
                          ],
                          "id": 9382,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "21706:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 9381,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "21706:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": null,
                              "typeString": null
                            }
                          }
                        },
                        "id": 9384,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "21706:13:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        },
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        },
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      ],
                      "id": 9378,
                      "name": "_swap",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8964,
                      "src": "21685:5:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$",
                        "typeString": "function (uint256[] memory,address[] memory,address)"
                      }
                    },
                    "id": 9385,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "21685:35:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9386,
                  "nodeType": "ExpressionStatement",
                  "src": "21685:35:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 9391,
                          "name": "amounts",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9320,
                          "src": "21768:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                            "typeString": "uint256[] memory"
                          }
                        },
                        "id": 9396,
                        "indexExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 9395,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 9392,
                              "name": "amounts",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9320,
                              "src": "21776:7:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 9393,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "21776:14:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "-",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "31",
                            "id": 9394,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "21793:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "src": "21776:18:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "21768:27:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 9388,
                            "name": "WETH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8033,
                            "src": "21753:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 9387,
                          "name": "MockUniswapV2Router02IWETH",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8022,
                          "src": "21726:26:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IWETH_$8022_$",
                            "typeString": "type(contract MockUniswapV2Router02IWETH)"
                          }
                        },
                        "id": 9389,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "21726:32:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MockUniswapV2Router02IWETH_$8022",
                          "typeString": "contract MockUniswapV2Router02IWETH"
                        }
                      },
                      "id": 9390,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "withdraw",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8021,
                      "src": "21726:41:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256) external"
                      }
                    },
                    "id": 9397,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "21726:70:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9398,
                  "nodeType": "ExpressionStatement",
                  "src": "21726:70:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9402,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9310,
                        "src": "21854:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 9403,
                          "name": "amounts",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9320,
                          "src": "21858:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                            "typeString": "uint256[] memory"
                          }
                        },
                        "id": 9408,
                        "indexExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 9407,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 9404,
                              "name": "amounts",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9320,
                              "src": "21866:7:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 9405,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "21866:14:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "-",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "31",
                            "id": 9406,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "21883:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "src": "21866:18:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "21858:27:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9399,
                        "name": "MockUniswapV2Router02TransferHelper",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10725,
                        "src": "21802:35:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02TransferHelper_$10725_$",
                          "typeString": "type(library MockUniswapV2Router02TransferHelper)"
                        }
                      },
                      "id": 9401,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "safeTransferETH",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10724,
                      "src": "21802:51:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 9409,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "21802:84:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9410,
                  "nodeType": "ExpressionStatement",
                  "src": "21802:84:26"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "18cbafe5",
            "id": 9412,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 9316,
                    "name": "deadline",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 9312,
                    "src": "21150:8:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 9317,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 9315,
                  "name": "ensure",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 8047,
                  "src": "21143:6:26",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_uint256_$",
                    "typeString": "modifier (uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "21143:16:26"
              }
            ],
            "name": "swapExactTokensForETH",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 9314,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "21134:8:26"
            },
            "parameters": {
              "id": 9313,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9303,
                  "mutability": "mutable",
                  "name": "amountIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9412,
                  "src": "21012:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9302,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "21012:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9305,
                  "mutability": "mutable",
                  "name": "amountOutMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9412,
                  "src": "21031:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9304,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "21031:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9308,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9412,
                  "src": "21054:23:26",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9306,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "21054:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 9307,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "21054:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9310,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9412,
                  "src": "21083:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9309,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "21083:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9312,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9412,
                  "src": "21099:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9311,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "21099:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "21006:110:26"
            },
            "returnParameters": {
              "id": 9321,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9320,
                  "mutability": "mutable",
                  "name": "amounts",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9412,
                  "src": "21169:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9318,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "21169:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 9319,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "21169:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "21168:23:26"
            },
            "scope": 10051,
            "src": "20976:915:26",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7781
            ],
            "body": {
              "id": 9516,
              "nodeType": "Block",
              "src": "22097:673:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 9436,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 9432,
                            "name": "path",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9417,
                            "src": "22111:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                              "typeString": "address[] calldata"
                            }
                          },
                          "id": 9434,
                          "indexExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 9433,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "22116:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "22111:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 9435,
                          "name": "WETH",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8033,
                          "src": "22122:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "22111:15:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "556e69737761705632526f757465723a20494e56414c49445f50415448",
                        "id": 9437,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "22128:31:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6435d47a7cef43416f8f596d66beab1b30970728f1435d971438f7d89b0cfb94",
                          "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\""
                        },
                        "value": "UniswapV2Router: INVALID_PATH"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6435d47a7cef43416f8f596d66beab1b30970728f1435d971438f7d89b0cfb94",
                          "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\""
                        }
                      ],
                      "id": 9431,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "22103:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9438,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22103:57:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9439,
                  "nodeType": "ExpressionStatement",
                  "src": "22103:57:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 9447,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 9440,
                      "name": "amounts",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9429,
                      "src": "22166:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 9443,
                          "name": "factory",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8030,
                          "src": "22227:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 9444,
                          "name": "amountOut",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9414,
                          "src": "22236:9:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 9445,
                          "name": "path",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9417,
                          "src": "22247:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                            "typeString": "address[] calldata"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                            "typeString": "address[] calldata"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 9441,
                          "name": "MockUniswapV2Router02UniswapV2Library",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10567,
                          "src": "22176:37:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                            "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                          }
                        },
                        "id": 9442,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "getAmountsIn",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 10566,
                        "src": "22176:50:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$",
                          "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)"
                        }
                      },
                      "id": 9446,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "22176:76:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[] memory"
                      }
                    },
                    "src": "22166:86:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "id": 9448,
                  "nodeType": "ExpressionStatement",
                  "src": "22166:86:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 9455,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 9450,
                            "name": "amounts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9429,
                            "src": "22266:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                              "typeString": "uint256[] memory"
                            }
                          },
                          "id": 9452,
                          "indexExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 9451,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "22274:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "22266:10:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 9453,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -15,
                            "src": "22280:3:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 9454,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "22280:9:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "22266:23:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54",
                        "id": 9456,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "22291:41:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_bb18004cd22eaad7ea393d184ea6ac1df1428db36bb6fbff8af486232d68ae2c",
                          "typeString": "literal_string \"UniswapV2Router: EXCESSIVE_INPUT_AMOUNT\""
                        },
                        "value": "UniswapV2Router: EXCESSIVE_INPUT_AMOUNT"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_bb18004cd22eaad7ea393d184ea6ac1df1428db36bb6fbff8af486232d68ae2c",
                          "typeString": "literal_string \"UniswapV2Router: EXCESSIVE_INPUT_AMOUNT\""
                        }
                      ],
                      "id": 9449,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "22258:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9457,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22258:75:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9458,
                  "nodeType": "ExpressionStatement",
                  "src": "22258:75:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 9460,
                              "name": "WETH",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8033,
                              "src": "22366:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 9459,
                            "name": "MockUniswapV2Router02IWETH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8022,
                            "src": "22339:26:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IWETH_$8022_$",
                              "typeString": "type(contract MockUniswapV2Router02IWETH)"
                            }
                          },
                          "id": 9461,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "22339:32:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_MockUniswapV2Router02IWETH_$8022",
                            "typeString": "contract MockUniswapV2Router02IWETH"
                          }
                        },
                        "id": 9462,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "deposit",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 8007,
                        "src": "22339:40:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_payable$__$returns$__$",
                          "typeString": "function () payable external"
                        }
                      },
                      "id": 9466,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "names": [
                        "value"
                      ],
                      "nodeType": "FunctionCallOptions",
                      "options": [
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 9463,
                            "name": "amounts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9429,
                            "src": "22387:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                              "typeString": "uint256[] memory"
                            }
                          },
                          "id": 9465,
                          "indexExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 9464,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "22395:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "22387:10:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "src": "22339:59:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_payable$__$returns$__$value",
                        "typeString": "function () payable external"
                      }
                    },
                    "id": 9467,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22339:61:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9468,
                  "nodeType": "ExpressionStatement",
                  "src": "22339:61:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 9476,
                                "name": "factory",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8030,
                                "src": "22517:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 9477,
                                  "name": "path",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9417,
                                  "src": "22526:4:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                    "typeString": "address[] calldata"
                                  }
                                },
                                "id": 9479,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "30",
                                  "id": 9478,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "22531:1:26",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "22526:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 9480,
                                  "name": "path",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9417,
                                  "src": "22535:4:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                    "typeString": "address[] calldata"
                                  }
                                },
                                "id": 9482,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "31",
                                  "id": 9481,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "22540:1:26",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_1_by_1",
                                    "typeString": "int_const 1"
                                  },
                                  "value": "1"
                                },
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "22535:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 9474,
                                "name": "MockUniswapV2Router02UniswapV2Library",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10567,
                                "src": "22471:37:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                                  "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                                }
                              },
                              "id": 9475,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "pairFor",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 10191,
                              "src": "22471:45:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_address_$",
                                "typeString": "function (address,address,address) view returns (address)"
                              }
                            },
                            "id": 9483,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "22471:72:26",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 9484,
                              "name": "amounts",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9429,
                              "src": "22553:7:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 9486,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 9485,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "22561:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "22553:10:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 9471,
                                "name": "WETH",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8033,
                                "src": "22447:4:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "id": 9470,
                              "name": "MockUniswapV2Router02IWETH",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8022,
                              "src": "22420:26:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IWETH_$8022_$",
                                "typeString": "type(contract MockUniswapV2Router02IWETH)"
                              }
                            },
                            "id": 9472,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "22420:32:26",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_MockUniswapV2Router02IWETH_$8022",
                              "typeString": "contract MockUniswapV2Router02IWETH"
                            }
                          },
                          "id": 9473,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "transfer",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8016,
                          "src": "22420:41:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                            "typeString": "function (address,uint256) external returns (bool)"
                          }
                        },
                        "id": 9487,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "22420:151:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 9469,
                      "name": "assert",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -3,
                      "src": "22406:6:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 9488,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22406:171:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9489,
                  "nodeType": "ExpressionStatement",
                  "src": "22406:171:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9491,
                        "name": "amounts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9429,
                        "src": "22589:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9492,
                        "name": "path",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9417,
                        "src": "22598:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9493,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9419,
                        "src": "22604:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        },
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 9490,
                      "name": "_swap",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8964,
                      "src": "22583:5:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$",
                        "typeString": "function (uint256[] memory,address[] memory,address)"
                      }
                    },
                    "id": 9494,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22583:24:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9495,
                  "nodeType": "ExpressionStatement",
                  "src": "22583:24:26"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 9501,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 9496,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -15,
                        "src": "22648:3:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 9497,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "value",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "22648:9:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 9498,
                        "name": "amounts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9429,
                        "src": "22660:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      },
                      "id": 9500,
                      "indexExpression": {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 9499,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "22668:1:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "22660:10:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "22648:22:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 9515,
                  "nodeType": "IfStatement",
                  "src": "22644:121:26",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 9505,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -15,
                            "src": "22730:3:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 9506,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "22730:10:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address_payable",
                            "typeString": "address payable"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 9512,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 9507,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": -15,
                              "src": "22742:3:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 9508,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "value",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "22742:9:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "-",
                          "rightExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 9509,
                              "name": "amounts",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9429,
                              "src": "22754:7:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 9511,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 9510,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "22762:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "22754:10:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "22742:22:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address_payable",
                            "typeString": "address payable"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 9502,
                          "name": "MockUniswapV2Router02TransferHelper",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10725,
                          "src": "22678:35:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02TransferHelper_$10725_$",
                            "typeString": "type(library MockUniswapV2Router02TransferHelper)"
                          }
                        },
                        "id": 9504,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "safeTransferETH",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 10724,
                        "src": "22678:51:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                          "typeString": "function (address,uint256)"
                        }
                      },
                      "id": 9513,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "22678:87:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$",
                        "typeString": "tuple()"
                      }
                    },
                    "id": 9514,
                    "nodeType": "ExpressionStatement",
                    "src": "22678:87:26"
                  }
                }
              ]
            },
            "documentation": null,
            "functionSelector": "fb3bdb41",
            "id": 9517,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 9425,
                    "name": "deadline",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 9421,
                    "src": "22055:8:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 9426,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 9424,
                  "name": "ensure",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 8047,
                  "src": "22048:6:26",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_uint256_$",
                    "typeString": "modifier (uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "22048:16:26"
              }
            ],
            "name": "swapETHForExactTokens",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 9423,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "22039:8:26"
            },
            "parameters": {
              "id": 9422,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9414,
                  "mutability": "mutable",
                  "name": "amountOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9517,
                  "src": "21931:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9413,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "21931:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9417,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9517,
                  "src": "21951:23:26",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9415,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "21951:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 9416,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "21951:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9419,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9517,
                  "src": "21980:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9418,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "21980:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9421,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9517,
                  "src": "21996:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9420,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "21996:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "21925:88:26"
            },
            "returnParameters": {
              "id": 9430,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9429,
                  "mutability": "mutable",
                  "name": "amounts",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9517,
                  "src": "22074:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9427,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "22074:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 9428,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "22074:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "22073:23:26"
            },
            "scope": 10051,
            "src": "21895:875:26",
            "stateMutability": "payable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "body": {
              "id": 9680,
              "nodeType": "Block",
              "src": "23004:1264:26",
              "statements": [
                {
                  "body": {
                    "id": 9678,
                    "nodeType": "Block",
                    "src": "23049:1215:26",
                    "statements": [
                      {
                        "assignments": [
                          9538,
                          9540
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 9538,
                            "mutability": "mutable",
                            "name": "input",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 9678,
                            "src": "23058:13:26",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            "typeName": {
                              "id": 9537,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "23058:7:26",
                              "stateMutability": "nonpayable",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          },
                          {
                            "constant": false,
                            "id": 9540,
                            "mutability": "mutable",
                            "name": "output",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 9678,
                            "src": "23073:14:26",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            "typeName": {
                              "id": 9539,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "23073:7:26",
                              "stateMutability": "nonpayable",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 9550,
                        "initialValue": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 9541,
                                "name": "path",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9520,
                                "src": "23092:4:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 9543,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 9542,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9526,
                                "src": "23097:1:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "23092:7:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 9544,
                                "name": "path",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9520,
                                "src": "23101:4:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 9548,
                              "indexExpression": {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 9547,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "id": 9545,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9526,
                                  "src": "23106:1:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "+",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "31",
                                  "id": 9546,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "23110:1:26",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_1_by_1",
                                    "typeString": "int_const 1"
                                  },
                                  "value": "1"
                                },
                                "src": "23106:5:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "23101:11:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "id": 9549,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "23091:22:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_address_$_t_address_$",
                            "typeString": "tuple(address,address)"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "23057:56:26"
                      },
                      {
                        "assignments": [
                          9552,
                          null
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 9552,
                            "mutability": "mutable",
                            "name": "token0",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 9678,
                            "src": "23122:14:26",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            "typeName": {
                              "id": 9551,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "23122:7:26",
                              "stateMutability": "nonpayable",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          },
                          null
                        ],
                        "id": 9558,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 9555,
                              "name": "input",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9538,
                              "src": "23191:5:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 9556,
                              "name": "output",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9540,
                              "src": "23198:6:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 9553,
                              "name": "MockUniswapV2Router02UniswapV2Library",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10567,
                              "src": "23142:37:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                                "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                              }
                            },
                            "id": 9554,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sortTokens",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 10171,
                            "src": "23142:48:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_address_$_t_address_$",
                              "typeString": "function (address,address) pure returns (address,address)"
                            }
                          },
                          "id": 9557,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "23142:63:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_address_$_t_address_$",
                            "typeString": "tuple(address,address)"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "23121:84:26"
                      },
                      {
                        "assignments": [
                          9560
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 9560,
                            "mutability": "mutable",
                            "name": "pair",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 9678,
                            "src": "23213:40:26",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531",
                              "typeString": "contract MockUniswapV2Router02IUniswapV2Pair"
                            },
                            "typeName": {
                              "contractScope": null,
                              "id": 9559,
                              "name": "MockUniswapV2Router02IUniswapV2Pair",
                              "nodeType": "UserDefinedTypeName",
                              "referencedDeclaration": 7531,
                              "src": "23213:35:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531",
                                "typeString": "contract MockUniswapV2Router02IUniswapV2Pair"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 9569,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 9564,
                                  "name": "factory",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8030,
                                  "src": "23357:7:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 9565,
                                  "name": "input",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9538,
                                  "src": "23366:5:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 9566,
                                  "name": "output",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9540,
                                  "src": "23373:6:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 9562,
                                  "name": "MockUniswapV2Router02UniswapV2Library",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 10567,
                                  "src": "23311:37:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                                    "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                                  }
                                },
                                "id": 9563,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "pairFor",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 10191,
                                "src": "23311:45:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_address_$",
                                  "typeString": "function (address,address,address) view returns (address)"
                                }
                              },
                              "id": 9567,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "23311:69:26",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 9561,
                            "name": "MockUniswapV2Router02IUniswapV2Pair",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7531,
                            "src": "23264:35:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531_$",
                              "typeString": "type(contract MockUniswapV2Router02IUniswapV2Pair)"
                            }
                          },
                          "id": 9568,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "23264:126:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531",
                            "typeString": "contract MockUniswapV2Router02IUniswapV2Pair"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "23213:177:26"
                      },
                      {
                        "assignments": [
                          9571
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 9571,
                            "mutability": "mutable",
                            "name": "amountInput",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 9678,
                            "src": "23398:16:26",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 9570,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "23398:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 9572,
                        "initialValue": null,
                        "nodeType": "VariableDeclarationStatement",
                        "src": "23398:16:26"
                      },
                      {
                        "assignments": [
                          9574
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 9574,
                            "mutability": "mutable",
                            "name": "amountOutput",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 9678,
                            "src": "23422:17:26",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 9573,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "23422:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 9575,
                        "initialValue": null,
                        "nodeType": "VariableDeclarationStatement",
                        "src": "23422:17:26"
                      },
                      {
                        "id": 9623,
                        "nodeType": "Block",
                        "src": "23447:480:26",
                        "statements": [
                          {
                            "assignments": [
                              9577,
                              9579,
                              null
                            ],
                            "declarations": [
                              {
                                "constant": false,
                                "id": 9577,
                                "mutability": "mutable",
                                "name": "reserve0",
                                "nodeType": "VariableDeclaration",
                                "overrides": null,
                                "scope": 9623,
                                "src": "23506:13:26",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "typeName": {
                                  "id": 9576,
                                  "name": "uint",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "23506:4:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "value": null,
                                "visibility": "internal"
                              },
                              {
                                "constant": false,
                                "id": 9579,
                                "mutability": "mutable",
                                "name": "reserve1",
                                "nodeType": "VariableDeclaration",
                                "overrides": null,
                                "scope": 9623,
                                "src": "23521:13:26",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "typeName": {
                                  "id": 9578,
                                  "name": "uint",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "23521:4:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "value": null,
                                "visibility": "internal"
                              },
                              null
                            ],
                            "id": 9583,
                            "initialValue": {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 9580,
                                  "name": "pair",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9560,
                                  "src": "23540:4:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531",
                                    "typeString": "contract MockUniswapV2Router02IUniswapV2Pair"
                                  }
                                },
                                "id": 9581,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "getReserves",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7473,
                                "src": "23540:16:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$",
                                  "typeString": "function () view external returns (uint112,uint112,uint32)"
                                }
                              },
                              "id": 9582,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "23540:18:26",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$",
                                "typeString": "tuple(uint112,uint112,uint32)"
                              }
                            },
                            "nodeType": "VariableDeclarationStatement",
                            "src": "23505:53:26"
                          },
                          {
                            "assignments": [
                              9585,
                              9587
                            ],
                            "declarations": [
                              {
                                "constant": false,
                                "id": 9585,
                                "mutability": "mutable",
                                "name": "reserveInput",
                                "nodeType": "VariableDeclaration",
                                "overrides": null,
                                "scope": 9623,
                                "src": "23569:17:26",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "typeName": {
                                  "id": 9584,
                                  "name": "uint",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "23569:4:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "value": null,
                                "visibility": "internal"
                              },
                              {
                                "constant": false,
                                "id": 9587,
                                "mutability": "mutable",
                                "name": "reserveOutput",
                                "nodeType": "VariableDeclaration",
                                "overrides": null,
                                "scope": 9623,
                                "src": "23588:18:26",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "typeName": {
                                  "id": 9586,
                                  "name": "uint",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "23588:4:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "value": null,
                                "visibility": "internal"
                              }
                            ],
                            "id": 9598,
                            "initialValue": {
                              "argumentTypes": null,
                              "condition": {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                "id": 9590,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "id": 9588,
                                  "name": "input",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9538,
                                  "src": "23620:5:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "==",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "id": 9589,
                                  "name": "token0",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9552,
                                  "src": "23629:6:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "src": "23620:15:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "falseExpression": {
                                "argumentTypes": null,
                                "components": [
                                  {
                                    "argumentTypes": null,
                                    "id": 9594,
                                    "name": "reserve1",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9579,
                                    "src": "23662:8:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 9595,
                                    "name": "reserve0",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9577,
                                    "src": "23672:8:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "id": 9596,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "23661:20:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                                  "typeString": "tuple(uint256,uint256)"
                                }
                              },
                              "id": 9597,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "Conditional",
                              "src": "23620:61:26",
                              "trueExpression": {
                                "argumentTypes": null,
                                "components": [
                                  {
                                    "argumentTypes": null,
                                    "id": 9591,
                                    "name": "reserve0",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9577,
                                    "src": "23639:8:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 9592,
                                    "name": "reserve1",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9579,
                                    "src": "23649:8:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "id": 9593,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "23638:20:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                                  "typeString": "tuple(uint256,uint256)"
                                }
                              },
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                                "typeString": "tuple(uint256,uint256)"
                              }
                            },
                            "nodeType": "VariableDeclarationStatement",
                            "src": "23568:113:26"
                          },
                          {
                            "expression": {
                              "argumentTypes": null,
                              "id": 9612,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftHandSide": {
                                "argumentTypes": null,
                                "id": 9599,
                                "name": "amountInput",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9571,
                                "src": "23691:11:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "Assignment",
                              "operator": "=",
                              "rightHandSide": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 9610,
                                    "name": "reserveInput",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9585,
                                    "src": "23748:12:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 9606,
                                            "name": "pair",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 9560,
                                            "src": "23737:4:26",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531",
                                              "typeString": "contract MockUniswapV2Router02IUniswapV2Pair"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531",
                                              "typeString": "contract MockUniswapV2Router02IUniswapV2Pair"
                                            }
                                          ],
                                          "id": 9605,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "23729:7:26",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_address_$",
                                            "typeString": "type(address)"
                                          },
                                          "typeName": {
                                            "id": 9604,
                                            "name": "address",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "23729:7:26",
                                            "typeDescriptions": {
                                              "typeIdentifier": null,
                                              "typeString": null
                                            }
                                          }
                                        },
                                        "id": 9607,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "23729:13:26",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 9601,
                                            "name": "input",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 9538,
                                            "src": "23712:5:26",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          ],
                                          "id": 9600,
                                          "name": "IERC20",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8004,
                                          "src": "23705:6:26",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_IERC20_$8004_$",
                                            "typeString": "type(contract IERC20)"
                                          }
                                        },
                                        "id": 9602,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "23705:13:26",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_IERC20_$8004",
                                          "typeString": "contract IERC20"
                                        }
                                      },
                                      "id": 9603,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "balanceOf",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 7965,
                                      "src": "23705:23:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
                                        "typeString": "function (address) view external returns (uint256)"
                                      }
                                    },
                                    "id": 9608,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "23705:38:26",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "id": 9609,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "sub",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 10095,
                                  "src": "23705:42:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                    "typeString": "function (uint256,uint256) pure returns (uint256)"
                                  }
                                },
                                "id": 9611,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "23705:56:26",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "23691:70:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 9613,
                            "nodeType": "ExpressionStatement",
                            "src": "23691:70:26"
                          },
                          {
                            "expression": {
                              "argumentTypes": null,
                              "id": 9621,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftHandSide": {
                                "argumentTypes": null,
                                "id": 9614,
                                "name": "amountOutput",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9574,
                                "src": "23771:12:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "Assignment",
                              "operator": "=",
                              "rightHandSide": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 9617,
                                    "name": "amountInput",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9571,
                                    "src": "23848:11:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 9618,
                                    "name": "reserveInput",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9585,
                                    "src": "23871:12:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 9619,
                                    "name": "reserveOutput",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9587,
                                    "src": "23895:13:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 9615,
                                    "name": "MockUniswapV2Router02UniswapV2Library",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 10567,
                                    "src": "23786:37:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                                      "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                                    }
                                  },
                                  "id": 9616,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "getAmountOut",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 10340,
                                  "src": "23786:50:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                                    "typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
                                  }
                                },
                                "id": 9620,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "23786:132:26",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "23771:147:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 9622,
                            "nodeType": "ExpressionStatement",
                            "src": "23771:147:26"
                          }
                        ]
                      },
                      {
                        "assignments": [
                          9625,
                          9627
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 9625,
                            "mutability": "mutable",
                            "name": "amount0Out",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 9678,
                            "src": "23935:15:26",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 9624,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "23935:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          },
                          {
                            "constant": false,
                            "id": 9627,
                            "mutability": "mutable",
                            "name": "amount1Out",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 9678,
                            "src": "23952:15:26",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 9626,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "23952:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 9644,
                        "initialValue": {
                          "argumentTypes": null,
                          "condition": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            "id": 9630,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 9628,
                              "name": "input",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9538,
                              "src": "23979:5:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "==",
                            "rightExpression": {
                              "argumentTypes": null,
                              "id": 9629,
                              "name": "token0",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9552,
                              "src": "23988:6:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "src": "23979:15:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseExpression": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "id": 9637,
                                "name": "amountOutput",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9574,
                                "src": "24024:12:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "30",
                                    "id": 9640,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "24043:1:26",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    },
                                    "value": "0"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    }
                                  ],
                                  "id": 9639,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "24038:4:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_uint256_$",
                                    "typeString": "type(uint256)"
                                  },
                                  "typeName": {
                                    "id": 9638,
                                    "name": "uint",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "24038:4:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": null,
                                      "typeString": null
                                    }
                                  }
                                },
                                "id": 9641,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "24038:7:26",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "id": 9642,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "24023:23:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                              "typeString": "tuple(uint256,uint256)"
                            }
                          },
                          "id": 9643,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "Conditional",
                          "src": "23979:67:26",
                          "trueExpression": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "30",
                                    "id": 9633,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "24003:1:26",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    },
                                    "value": "0"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    }
                                  ],
                                  "id": 9632,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "23998:4:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_uint256_$",
                                    "typeString": "type(uint256)"
                                  },
                                  "typeName": {
                                    "id": 9631,
                                    "name": "uint",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "23998:4:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": null,
                                      "typeString": null
                                    }
                                  }
                                },
                                "id": 9634,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "23998:7:26",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 9635,
                                "name": "amountOutput",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9574,
                                "src": "24007:12:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "id": 9636,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "23997:23:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                              "typeString": "tuple(uint256,uint256)"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                            "typeString": "tuple(uint256,uint256)"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "23934:112:26"
                      },
                      {
                        "assignments": [
                          9646
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 9646,
                            "mutability": "mutable",
                            "name": "to",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 9678,
                            "src": "24054:10:26",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            "typeName": {
                              "id": 9645,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "24054:7:26",
                              "stateMutability": "nonpayable",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 9665,
                        "initialValue": {
                          "argumentTypes": null,
                          "condition": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 9652,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 9647,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9526,
                              "src": "24075:1:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "<",
                            "rightExpression": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 9651,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 9648,
                                  "name": "path",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9520,
                                  "src": "24079:4:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                    "typeString": "address[] memory"
                                  }
                                },
                                "id": 9649,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "length",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": null,
                                "src": "24079:11:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "-",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "32",
                                "id": 9650,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "24093:1:26",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_2_by_1",
                                  "typeString": "int_const 2"
                                },
                                "value": "2"
                              },
                              "src": "24079:15:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "24075:19:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseExpression": {
                            "argumentTypes": null,
                            "id": 9663,
                            "name": "_to",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9522,
                            "src": "24195:3:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "id": 9664,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "Conditional",
                          "src": "24075:123:26",
                          "trueExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 9655,
                                "name": "factory",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8030,
                                "src": "24153:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 9656,
                                "name": "output",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9540,
                                "src": "24162:6:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 9657,
                                  "name": "path",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9520,
                                  "src": "24170:4:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                    "typeString": "address[] memory"
                                  }
                                },
                                "id": 9661,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 9660,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "argumentTypes": null,
                                    "id": 9658,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 9526,
                                    "src": "24175:1:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "+",
                                  "rightExpression": {
                                    "argumentTypes": null,
                                    "hexValue": "32",
                                    "id": 9659,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "24179:1:26",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_2_by_1",
                                      "typeString": "int_const 2"
                                    },
                                    "value": "2"
                                  },
                                  "src": "24175:5:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "24170:11:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 9653,
                                "name": "MockUniswapV2Router02UniswapV2Library",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10567,
                                "src": "24107:37:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                                  "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                                }
                              },
                              "id": 9654,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "pairFor",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 10191,
                              "src": "24107:45:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_address_$",
                                "typeString": "function (address,address,address) view returns (address)"
                              }
                            },
                            "id": 9662,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "24107:75:26",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "24054:144:26"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 9669,
                              "name": "amount0Out",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9625,
                              "src": "24216:10:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 9670,
                              "name": "amount1Out",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9627,
                              "src": "24228:10:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 9671,
                              "name": "to",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9646,
                              "src": "24240:2:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "hexValue": "30",
                                  "id": 9674,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "24254:1:26",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  }
                                ],
                                "id": 9673,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "NewExpression",
                                "src": "24244:9:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
                                  "typeString": "function (uint256) pure returns (bytes memory)"
                                },
                                "typeName": {
                                  "id": 9672,
                                  "name": "bytes",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "24248:5:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_storage_ptr",
                                    "typeString": "bytes"
                                  }
                                }
                              },
                              "id": 9675,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "24244:12:26",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 9666,
                              "name": "pair",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9560,
                              "src": "24206:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531",
                                "typeString": "contract MockUniswapV2Router02IUniswapV2Pair"
                              }
                            },
                            "id": 9668,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "swap",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 7515,
                            "src": "24206:9:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$",
                              "typeString": "function (uint256,uint256,address,bytes memory) external"
                            }
                          },
                          "id": 9676,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "24206:51:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 9677,
                        "nodeType": "ExpressionStatement",
                        "src": "24206:51:26"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 9533,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 9528,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9526,
                      "src": "23023:1:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 9532,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 9529,
                          "name": "path",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9520,
                          "src": "23027:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 9530,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "23027:11:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 9531,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "23041:1:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "23027:15:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "23023:19:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 9679,
                  "initializationExpression": {
                    "assignments": [
                      9526
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 9526,
                        "mutability": "mutable",
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "overrides": null,
                        "scope": 9679,
                        "src": "23015:6:26",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 9525,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "23015:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 9527,
                    "initialValue": null,
                    "nodeType": "VariableDeclarationStatement",
                    "src": "23015:6:26"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 9535,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "23044:3:26",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 9534,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9526,
                        "src": "23044:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 9536,
                    "nodeType": "ExpressionStatement",
                    "src": "23044:3:26"
                  },
                  "nodeType": "ForStatement",
                  "src": "23010:1254:26"
                }
              ]
            },
            "documentation": null,
            "id": 9681,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_swapSupportingFeeOnTransferTokens",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9523,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9520,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9681,
                  "src": "22951:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9518,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "22951:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 9519,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "22951:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9522,
                  "mutability": "mutable",
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9681,
                  "src": "22974:11:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9521,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "22974:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "22950:36:26"
            },
            "returnParameters": {
              "id": 9524,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "23004:0:26"
            },
            "scope": 10051,
            "src": "22907:1361:26",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "baseFunctions": [
              7895
            ],
            "body": {
              "id": 9759,
              "nodeType": "Block",
              "src": "24488:476:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 9702,
                          "name": "path",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9688,
                          "src": "24554:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                            "typeString": "address[] calldata"
                          }
                        },
                        "id": 9704,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 9703,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "24559:1:26",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "24554:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 9705,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "24569:3:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 9706,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "24569:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 9709,
                            "name": "factory",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8030,
                            "src": "24633:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 9710,
                              "name": "path",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9688,
                              "src": "24642:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                "typeString": "address[] calldata"
                              }
                            },
                            "id": 9712,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 9711,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "24647:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "24642:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 9713,
                              "name": "path",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9688,
                              "src": "24651:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                "typeString": "address[] calldata"
                              }
                            },
                            "id": 9715,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 9714,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "24656:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "24651:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 9707,
                            "name": "MockUniswapV2Router02UniswapV2Library",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10567,
                            "src": "24587:37:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                              "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                            }
                          },
                          "id": 9708,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "pairFor",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10191,
                          "src": "24587:45:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_address_$",
                            "typeString": "function (address,address,address) view returns (address)"
                          }
                        },
                        "id": 9716,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "24587:72:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9717,
                        "name": "amountIn",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9683,
                        "src": "24667:8:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9699,
                        "name": "MockUniswapV2Router02TransferHelper",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10725,
                        "src": "24494:35:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02TransferHelper_$10725_$",
                          "typeString": "type(library MockUniswapV2Router02TransferHelper)"
                        }
                      },
                      "id": 9701,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "safeTransferFrom",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10699,
                      "src": "24494:52:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,address,address,uint256)"
                      }
                    },
                    "id": 9718,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24494:187:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9719,
                  "nodeType": "ExpressionStatement",
                  "src": "24494:187:26"
                },
                {
                  "assignments": [
                    9721
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 9721,
                      "mutability": "mutable",
                      "name": "balanceBefore",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 9759,
                      "src": "24687:18:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 9720,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "24687:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 9733,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9731,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9690,
                        "src": "24748:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 9723,
                              "name": "path",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9688,
                              "src": "24715:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                "typeString": "address[] calldata"
                              }
                            },
                            "id": 9728,
                            "indexExpression": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 9727,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 9724,
                                  "name": "path",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9688,
                                  "src": "24720:4:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                    "typeString": "address[] calldata"
                                  }
                                },
                                "id": 9725,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "length",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": null,
                                "src": "24720:11:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "-",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "31",
                                "id": 9726,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "24734:1:26",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_1_by_1",
                                  "typeString": "int_const 1"
                                },
                                "value": "1"
                              },
                              "src": "24720:15:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "24715:21:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 9722,
                          "name": "IERC20",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8004,
                          "src": "24708:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IERC20_$8004_$",
                            "typeString": "type(contract IERC20)"
                          }
                        },
                        "id": 9729,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "24708:29:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$8004",
                          "typeString": "contract IERC20"
                        }
                      },
                      "id": 9730,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "balanceOf",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7965,
                      "src": "24708:39:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
                        "typeString": "function (address) view external returns (uint256)"
                      }
                    },
                    "id": 9732,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24708:43:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "24687:64:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9735,
                        "name": "path",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9688,
                        "src": "24792:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9736,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9690,
                        "src": "24798:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 9734,
                      "name": "_swapSupportingFeeOnTransferTokens",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9681,
                      "src": "24757:34:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$",
                        "typeString": "function (address[] memory,address)"
                      }
                    },
                    "id": 9737,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24757:44:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9738,
                  "nodeType": "ExpressionStatement",
                  "src": "24757:44:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 9755,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 9752,
                              "name": "balanceBefore",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9721,
                              "src": "24870:13:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 9749,
                                  "name": "to",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9690,
                                  "src": "24862:2:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "id": 9741,
                                        "name": "path",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 9688,
                                        "src": "24829:4:26",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                          "typeString": "address[] calldata"
                                        }
                                      },
                                      "id": 9746,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "commonType": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        "id": 9745,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                          "argumentTypes": null,
                                          "expression": {
                                            "argumentTypes": null,
                                            "id": 9742,
                                            "name": "path",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 9688,
                                            "src": "24834:4:26",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                              "typeString": "address[] calldata"
                                            }
                                          },
                                          "id": 9743,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberName": "length",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": null,
                                          "src": "24834:11:26",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "-",
                                        "rightExpression": {
                                          "argumentTypes": null,
                                          "hexValue": "31",
                                          "id": 9744,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "24848:1:26",
                                          "subdenomination": null,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_rational_1_by_1",
                                            "typeString": "int_const 1"
                                          },
                                          "value": "1"
                                        },
                                        "src": "24834:15:26",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "24829:21:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    ],
                                    "id": 9740,
                                    "name": "IERC20",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8004,
                                    "src": "24822:6:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IERC20_$8004_$",
                                      "typeString": "type(contract IERC20)"
                                    }
                                  },
                                  "id": 9747,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "24822:29:26",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_IERC20_$8004",
                                    "typeString": "contract IERC20"
                                  }
                                },
                                "id": 9748,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "balanceOf",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7965,
                                "src": "24822:39:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
                                  "typeString": "function (address) view external returns (uint256)"
                                }
                              },
                              "id": 9750,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "24822:43:26",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 9751,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sub",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 10095,
                            "src": "24822:47:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                              "typeString": "function (uint256,uint256) pure returns (uint256)"
                            }
                          },
                          "id": 9753,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "24822:62:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 9754,
                          "name": "amountOutMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9685,
                          "src": "24888:12:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "24822:78:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e54",
                        "id": 9756,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "24908:45:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_d4ea67bea551891ab36be726b8e631181246034dffcfd5c0bbfad1e9d1729432",
                          "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\""
                        },
                        "value": "UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_d4ea67bea551891ab36be726b8e631181246034dffcfd5c0bbfad1e9d1729432",
                          "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\""
                        }
                      ],
                      "id": 9739,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "24807:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9757,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24807:152:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9758,
                  "nodeType": "ExpressionStatement",
                  "src": "24807:152:26"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "5c11d795",
            "id": 9760,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 9696,
                    "name": "deadline",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 9692,
                    "src": "24478:8:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 9697,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 9695,
                  "name": "ensure",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 8047,
                  "src": "24471:6:26",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_uint256_$",
                    "typeString": "modifier (uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "24471:16:26"
              }
            ],
            "name": "swapExactTokensForTokensSupportingFeeOnTransferTokens",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 9694,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "24462:8:26"
            },
            "parameters": {
              "id": 9693,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9683,
                  "mutability": "mutable",
                  "name": "amountIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9760,
                  "src": "24340:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9682,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "24340:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9685,
                  "mutability": "mutable",
                  "name": "amountOutMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9760,
                  "src": "24359:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9684,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "24359:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9688,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9760,
                  "src": "24382:23:26",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9686,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "24382:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 9687,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "24382:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9690,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9760,
                  "src": "24411:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9689,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "24411:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9692,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9760,
                  "src": "24427:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9691,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "24427:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "24334:110:26"
            },
            "returnParameters": {
              "id": 9698,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "24488:0:26"
            },
            "scope": 10051,
            "src": "24272:692:26",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7907
            ],
            "body": {
              "id": 9856,
              "nodeType": "Block",
              "src": "25170:617:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 9781,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 9777,
                            "name": "path",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9765,
                            "src": "25184:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                              "typeString": "address[] calldata"
                            }
                          },
                          "id": 9779,
                          "indexExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 9778,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "25189:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "25184:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 9780,
                          "name": "WETH",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8033,
                          "src": "25195:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "25184:15:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "556e69737761705632526f757465723a20494e56414c49445f50415448",
                        "id": 9782,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "25201:31:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6435d47a7cef43416f8f596d66beab1b30970728f1435d971438f7d89b0cfb94",
                          "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\""
                        },
                        "value": "UniswapV2Router: INVALID_PATH"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6435d47a7cef43416f8f596d66beab1b30970728f1435d971438f7d89b0cfb94",
                          "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\""
                        }
                      ],
                      "id": 9776,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "25176:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9783,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "25176:57:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9784,
                  "nodeType": "ExpressionStatement",
                  "src": "25176:57:26"
                },
                {
                  "assignments": [
                    9786
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 9786,
                      "mutability": "mutable",
                      "name": "amountIn",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 9856,
                      "src": "25239:13:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 9785,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "25239:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 9789,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 9787,
                      "name": "msg",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -15,
                      "src": "25255:3:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_magic_message",
                        "typeString": "msg"
                      }
                    },
                    "id": 9788,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "value",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "25255:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "25239:25:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 9791,
                              "name": "WETH",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8033,
                              "src": "25297:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 9790,
                            "name": "MockUniswapV2Router02IWETH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8022,
                            "src": "25270:26:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IWETH_$8022_$",
                              "typeString": "type(contract MockUniswapV2Router02IWETH)"
                            }
                          },
                          "id": 9792,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "25270:32:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_MockUniswapV2Router02IWETH_$8022",
                            "typeString": "contract MockUniswapV2Router02IWETH"
                          }
                        },
                        "id": 9793,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "deposit",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 8007,
                        "src": "25270:40:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_payable$__$returns$__$",
                          "typeString": "function () payable external"
                        }
                      },
                      "id": 9795,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "names": [
                        "value"
                      ],
                      "nodeType": "FunctionCallOptions",
                      "options": [
                        {
                          "argumentTypes": null,
                          "id": 9794,
                          "name": "amountIn",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9786,
                          "src": "25318:8:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "src": "25270:57:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_payable$__$returns$__$value",
                        "typeString": "function () payable external"
                      }
                    },
                    "id": 9796,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "25270:59:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9797,
                  "nodeType": "ExpressionStatement",
                  "src": "25270:59:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 9805,
                                "name": "factory",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8030,
                                "src": "25446:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 9806,
                                  "name": "path",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9765,
                                  "src": "25455:4:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                    "typeString": "address[] calldata"
                                  }
                                },
                                "id": 9808,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "30",
                                  "id": 9807,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "25460:1:26",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "25455:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 9809,
                                  "name": "path",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9765,
                                  "src": "25464:4:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                    "typeString": "address[] calldata"
                                  }
                                },
                                "id": 9811,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "31",
                                  "id": 9810,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "25469:1:26",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_1_by_1",
                                    "typeString": "int_const 1"
                                  },
                                  "value": "1"
                                },
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "25464:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 9803,
                                "name": "MockUniswapV2Router02UniswapV2Library",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10567,
                                "src": "25400:37:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                                  "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                                }
                              },
                              "id": 9804,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "pairFor",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 10191,
                              "src": "25400:45:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_address_$",
                                "typeString": "function (address,address,address) view returns (address)"
                              }
                            },
                            "id": 9812,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "25400:72:26",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 9813,
                            "name": "amountIn",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9786,
                            "src": "25482:8:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 9800,
                                "name": "WETH",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8033,
                                "src": "25376:4:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "id": 9799,
                              "name": "MockUniswapV2Router02IWETH",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8022,
                              "src": "25349:26:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IWETH_$8022_$",
                                "typeString": "type(contract MockUniswapV2Router02IWETH)"
                              }
                            },
                            "id": 9801,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "25349:32:26",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_MockUniswapV2Router02IWETH_$8022",
                              "typeString": "contract MockUniswapV2Router02IWETH"
                            }
                          },
                          "id": 9802,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "transfer",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 8016,
                          "src": "25349:41:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                            "typeString": "function (address,uint256) external returns (bool)"
                          }
                        },
                        "id": 9814,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "25349:149:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 9798,
                      "name": "assert",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": -3,
                      "src": "25335:6:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 9815,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "25335:169:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9816,
                  "nodeType": "ExpressionStatement",
                  "src": "25335:169:26"
                },
                {
                  "assignments": [
                    9818
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 9818,
                      "mutability": "mutable",
                      "name": "balanceBefore",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 9856,
                      "src": "25510:18:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 9817,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "25510:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 9830,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9828,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9767,
                        "src": "25571:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 9820,
                              "name": "path",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9765,
                              "src": "25538:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                "typeString": "address[] calldata"
                              }
                            },
                            "id": 9825,
                            "indexExpression": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 9824,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 9821,
                                  "name": "path",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9765,
                                  "src": "25543:4:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                    "typeString": "address[] calldata"
                                  }
                                },
                                "id": 9822,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "length",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": null,
                                "src": "25543:11:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "-",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "31",
                                "id": 9823,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "25557:1:26",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_1_by_1",
                                  "typeString": "int_const 1"
                                },
                                "value": "1"
                              },
                              "src": "25543:15:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "25538:21:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 9819,
                          "name": "IERC20",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8004,
                          "src": "25531:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IERC20_$8004_$",
                            "typeString": "type(contract IERC20)"
                          }
                        },
                        "id": 9826,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "25531:29:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$8004",
                          "typeString": "contract IERC20"
                        }
                      },
                      "id": 9827,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "balanceOf",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7965,
                      "src": "25531:39:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
                        "typeString": "function (address) view external returns (uint256)"
                      }
                    },
                    "id": 9829,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "25531:43:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "25510:64:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9832,
                        "name": "path",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9765,
                        "src": "25615:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9833,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9767,
                        "src": "25621:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 9831,
                      "name": "_swapSupportingFeeOnTransferTokens",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9681,
                      "src": "25580:34:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$",
                        "typeString": "function (address[] memory,address)"
                      }
                    },
                    "id": 9834,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "25580:44:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9835,
                  "nodeType": "ExpressionStatement",
                  "src": "25580:44:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 9852,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 9849,
                              "name": "balanceBefore",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9818,
                              "src": "25693:13:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 9846,
                                  "name": "to",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 9767,
                                  "src": "25685:2:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "id": 9838,
                                        "name": "path",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 9765,
                                        "src": "25652:4:26",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                          "typeString": "address[] calldata"
                                        }
                                      },
                                      "id": 9843,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "commonType": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        "id": 9842,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                          "argumentTypes": null,
                                          "expression": {
                                            "argumentTypes": null,
                                            "id": 9839,
                                            "name": "path",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 9765,
                                            "src": "25657:4:26",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                              "typeString": "address[] calldata"
                                            }
                                          },
                                          "id": 9840,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberName": "length",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": null,
                                          "src": "25657:11:26",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "-",
                                        "rightExpression": {
                                          "argumentTypes": null,
                                          "hexValue": "31",
                                          "id": 9841,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "25671:1:26",
                                          "subdenomination": null,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_rational_1_by_1",
                                            "typeString": "int_const 1"
                                          },
                                          "value": "1"
                                        },
                                        "src": "25657:15:26",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "25652:21:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    ],
                                    "id": 9837,
                                    "name": "IERC20",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8004,
                                    "src": "25645:6:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IERC20_$8004_$",
                                      "typeString": "type(contract IERC20)"
                                    }
                                  },
                                  "id": 9844,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "25645:29:26",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_IERC20_$8004",
                                    "typeString": "contract IERC20"
                                  }
                                },
                                "id": 9845,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "balanceOf",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7965,
                                "src": "25645:39:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
                                  "typeString": "function (address) view external returns (uint256)"
                                }
                              },
                              "id": 9847,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "25645:43:26",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 9848,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sub",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 10095,
                            "src": "25645:47:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                              "typeString": "function (uint256,uint256) pure returns (uint256)"
                            }
                          },
                          "id": 9850,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "25645:62:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 9851,
                          "name": "amountOutMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9762,
                          "src": "25711:12:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "25645:78:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e54",
                        "id": 9853,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "25731:45:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_d4ea67bea551891ab36be726b8e631181246034dffcfd5c0bbfad1e9d1729432",
                          "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\""
                        },
                        "value": "UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_d4ea67bea551891ab36be726b8e631181246034dffcfd5c0bbfad1e9d1729432",
                          "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\""
                        }
                      ],
                      "id": 9836,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "25630:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9854,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "25630:152:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9855,
                  "nodeType": "ExpressionStatement",
                  "src": "25630:152:26"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "b6f9de95",
            "id": 9857,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 9773,
                    "name": "deadline",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 9769,
                    "src": "25160:8:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 9774,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 9772,
                  "name": "ensure",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 8047,
                  "src": "25153:6:26",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_uint256_$",
                    "typeString": "modifier (uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "25153:16:26"
              }
            ],
            "name": "swapExactETHForTokensSupportingFeeOnTransferTokens",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 9771,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "25144:8:26"
            },
            "parameters": {
              "id": 9770,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9762,
                  "mutability": "mutable",
                  "name": "amountOutMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9857,
                  "src": "25033:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9761,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "25033:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9765,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9857,
                  "src": "25056:23:26",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9763,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "25056:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 9764,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "25056:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9767,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9857,
                  "src": "25085:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9766,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "25085:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9769,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9857,
                  "src": "25101:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9768,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "25101:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "25027:91:26"
            },
            "returnParameters": {
              "id": 9775,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "25170:0:26"
            },
            "scope": 10051,
            "src": "24968:819:26",
            "stateMutability": "payable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7921
            ],
            "body": {
              "id": 9949,
              "nodeType": "Block",
              "src": "26004:613:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 9883,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 9876,
                            "name": "path",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 9864,
                            "src": "26018:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                              "typeString": "address[] calldata"
                            }
                          },
                          "id": 9881,
                          "indexExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 9880,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 9877,
                                "name": "path",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 9864,
                                "src": "26023:4:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                  "typeString": "address[] calldata"
                                }
                              },
                              "id": 9878,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "length",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "26023:11:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "-",
                            "rightExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 9879,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "26037:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "src": "26023:15:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "26018:21:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 9882,
                          "name": "WETH",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8033,
                          "src": "26043:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "26018:29:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "556e69737761705632526f757465723a20494e56414c49445f50415448",
                        "id": 9884,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "26049:31:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6435d47a7cef43416f8f596d66beab1b30970728f1435d971438f7d89b0cfb94",
                          "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\""
                        },
                        "value": "UniswapV2Router: INVALID_PATH"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6435d47a7cef43416f8f596d66beab1b30970728f1435d971438f7d89b0cfb94",
                          "typeString": "literal_string \"UniswapV2Router: INVALID_PATH\""
                        }
                      ],
                      "id": 9875,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "26010:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9885,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26010:71:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9886,
                  "nodeType": "ExpressionStatement",
                  "src": "26010:71:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 9890,
                          "name": "path",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9864,
                          "src": "26147:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                            "typeString": "address[] calldata"
                          }
                        },
                        "id": 9892,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 9891,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "26152:1:26",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "26147:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 9893,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "26162:3:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 9894,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "26162:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 9897,
                            "name": "factory",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8030,
                            "src": "26226:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 9898,
                              "name": "path",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9864,
                              "src": "26235:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                "typeString": "address[] calldata"
                              }
                            },
                            "id": 9900,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 9899,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "26240:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "26235:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 9901,
                              "name": "path",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 9864,
                              "src": "26244:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                                "typeString": "address[] calldata"
                              }
                            },
                            "id": 9903,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 9902,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "26249:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "26244:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 9895,
                            "name": "MockUniswapV2Router02UniswapV2Library",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10567,
                            "src": "26180:37:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                              "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                            }
                          },
                          "id": 9896,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "pairFor",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10191,
                          "src": "26180:45:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_address_$",
                            "typeString": "function (address,address,address) view returns (address)"
                          }
                        },
                        "id": 9904,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "26180:72:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9905,
                        "name": "amountIn",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9859,
                        "src": "26260:8:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9887,
                        "name": "MockUniswapV2Router02TransferHelper",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10725,
                        "src": "26087:35:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02TransferHelper_$10725_$",
                          "typeString": "type(library MockUniswapV2Router02TransferHelper)"
                        }
                      },
                      "id": 9889,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "safeTransferFrom",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10699,
                      "src": "26087:52:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,address,address,uint256)"
                      }
                    },
                    "id": 9906,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26087:187:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9907,
                  "nodeType": "ExpressionStatement",
                  "src": "26087:187:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9909,
                        "name": "path",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9864,
                        "src": "26315:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 9912,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -28,
                            "src": "26329:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_MockUniswapV2Router02_$10051",
                              "typeString": "contract MockUniswapV2Router02"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_MockUniswapV2Router02_$10051",
                              "typeString": "contract MockUniswapV2Router02"
                            }
                          ],
                          "id": 9911,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "26321:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 9910,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "26321:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": null,
                              "typeString": null
                            }
                          }
                        },
                        "id": 9913,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "26321:13:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                          "typeString": "address[] calldata"
                        },
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      ],
                      "id": 9908,
                      "name": "_swapSupportingFeeOnTransferTokens",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9681,
                      "src": "26280:34:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$__$",
                        "typeString": "function (address[] memory,address)"
                      }
                    },
                    "id": 9914,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26280:55:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9915,
                  "nodeType": "ExpressionStatement",
                  "src": "26280:55:26"
                },
                {
                  "assignments": [
                    9917
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 9917,
                      "mutability": "mutable",
                      "name": "amountOut",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 9949,
                      "src": "26341:14:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 9916,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "26341:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 9927,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 9924,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -28,
                            "src": "26389:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_MockUniswapV2Router02_$10051",
                              "typeString": "contract MockUniswapV2Router02"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_MockUniswapV2Router02_$10051",
                              "typeString": "contract MockUniswapV2Router02"
                            }
                          ],
                          "id": 9923,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "26381:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 9922,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "26381:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": null,
                              "typeString": null
                            }
                          }
                        },
                        "id": 9925,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "26381:13:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 9919,
                            "name": "WETH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8033,
                            "src": "26365:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 9918,
                          "name": "IERC20",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8004,
                          "src": "26358:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IERC20_$8004_$",
                            "typeString": "type(contract IERC20)"
                          }
                        },
                        "id": 9920,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "26358:12:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$8004",
                          "typeString": "contract IERC20"
                        }
                      },
                      "id": 9921,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "balanceOf",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7965,
                      "src": "26358:22:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
                        "typeString": "function (address) view external returns (uint256)"
                      }
                    },
                    "id": 9926,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26358:37:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "26341:54:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 9931,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 9929,
                          "name": "amountOut",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9917,
                          "src": "26409:9:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 9930,
                          "name": "amountOutMin",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 9861,
                          "src": "26422:12:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "26409:25:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e54",
                        "id": 9932,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "26436:45:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_d4ea67bea551891ab36be726b8e631181246034dffcfd5c0bbfad1e9d1729432",
                          "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\""
                        },
                        "value": "UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_d4ea67bea551891ab36be726b8e631181246034dffcfd5c0bbfad1e9d1729432",
                          "typeString": "literal_string \"UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT\""
                        }
                      ],
                      "id": 9928,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "26401:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 9933,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26401:81:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9934,
                  "nodeType": "ExpressionStatement",
                  "src": "26401:81:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9939,
                        "name": "amountOut",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9917,
                        "src": "26530:9:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 9936,
                            "name": "WETH",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8033,
                            "src": "26515:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 9935,
                          "name": "MockUniswapV2Router02IWETH",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8022,
                          "src": "26488:26:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IWETH_$8022_$",
                            "typeString": "type(contract MockUniswapV2Router02IWETH)"
                          }
                        },
                        "id": 9937,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "26488:32:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MockUniswapV2Router02IWETH_$8022",
                          "typeString": "contract MockUniswapV2Router02IWETH"
                        }
                      },
                      "id": 9938,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "withdraw",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8021,
                      "src": "26488:41:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256) external"
                      }
                    },
                    "id": 9940,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26488:52:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9941,
                  "nodeType": "ExpressionStatement",
                  "src": "26488:52:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9945,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9866,
                        "src": "26598:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9946,
                        "name": "amountOut",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9917,
                        "src": "26602:9:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9942,
                        "name": "MockUniswapV2Router02TransferHelper",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10725,
                        "src": "26546:35:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02TransferHelper_$10725_$",
                          "typeString": "type(library MockUniswapV2Router02TransferHelper)"
                        }
                      },
                      "id": 9944,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "safeTransferETH",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10724,
                      "src": "26546:51:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 9947,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26546:66:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 9948,
                  "nodeType": "ExpressionStatement",
                  "src": "26546:66:26"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "791ac947",
            "id": 9950,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 9872,
                    "name": "deadline",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 9868,
                    "src": "25994:8:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 9873,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 9871,
                  "name": "ensure",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 8047,
                  "src": "25987:6:26",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_uint256_$",
                    "typeString": "modifier (uint256)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "25987:16:26"
              }
            ],
            "name": "swapExactTokensForETHSupportingFeeOnTransferTokens",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 9870,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "25978:8:26"
            },
            "parameters": {
              "id": 9869,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9859,
                  "mutability": "mutable",
                  "name": "amountIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9950,
                  "src": "25856:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9858,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "25856:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9861,
                  "mutability": "mutable",
                  "name": "amountOutMin",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9950,
                  "src": "25875:17:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9860,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "25875:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9864,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9950,
                  "src": "25898:23:26",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 9862,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "25898:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 9863,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "25898:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9866,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9950,
                  "src": "25927:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9865,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "25927:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9868,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9950,
                  "src": "25943:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9867,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "25943:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "25850:110:26"
            },
            "returnParameters": {
              "id": 9874,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "26004:0:26"
            },
            "scope": 10051,
            "src": "25791:826:26",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7792
            ],
            "body": {
              "id": 9969,
              "nodeType": "Block",
              "src": "26781:90:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9964,
                        "name": "amountA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9952,
                        "src": "26838:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9965,
                        "name": "reserveA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9954,
                        "src": "26847:8:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9966,
                        "name": "reserveB",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9956,
                        "src": "26857:8:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9962,
                        "name": "MockUniswapV2Router02UniswapV2Library",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10567,
                        "src": "26794:37:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                          "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                        }
                      },
                      "id": 9963,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "quote",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10280,
                      "src": "26794:43:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
                      }
                    },
                    "id": 9967,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26794:72:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 9961,
                  "id": 9968,
                  "nodeType": "Return",
                  "src": "26787:79:26"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "ad615dec",
            "id": 9970,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "quote",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 9958,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "26749:8:26"
            },
            "parameters": {
              "id": 9957,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9952,
                  "mutability": "mutable",
                  "name": "amountA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9970,
                  "src": "26674:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9951,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "26674:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9954,
                  "mutability": "mutable",
                  "name": "reserveA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9970,
                  "src": "26692:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9953,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "26692:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9956,
                  "mutability": "mutable",
                  "name": "reserveB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9970,
                  "src": "26711:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9955,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "26711:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "26668:60:26"
            },
            "returnParameters": {
              "id": 9961,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9960,
                  "mutability": "mutable",
                  "name": "amountB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9970,
                  "src": "26767:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9959,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "26767:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "26766:14:26"
            },
            "scope": 10051,
            "src": "26654:217:26",
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              7803
            ],
            "body": {
              "id": 9989,
              "nodeType": "Block",
              "src": "27015:101:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 9984,
                        "name": "amountIn",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9972,
                        "src": "27079:8:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9985,
                        "name": "reserveIn",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9974,
                        "src": "27089:9:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 9986,
                        "name": "reserveOut",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9976,
                        "src": "27100:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 9982,
                        "name": "MockUniswapV2Router02UniswapV2Library",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10567,
                        "src": "27028:37:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                          "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                        }
                      },
                      "id": 9983,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getAmountOut",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10340,
                      "src": "27028:50:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
                      }
                    },
                    "id": 9987,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "27028:83:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 9981,
                  "id": 9988,
                  "nodeType": "Return",
                  "src": "27021:90:26"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "054d50d4",
            "id": 9990,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getAmountOut",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 9978,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "26981:8:26"
            },
            "parameters": {
              "id": 9977,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9972,
                  "mutability": "mutable",
                  "name": "amountIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9990,
                  "src": "26902:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9971,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "26902:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9974,
                  "mutability": "mutable",
                  "name": "reserveIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9990,
                  "src": "26921:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9973,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "26921:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9976,
                  "mutability": "mutable",
                  "name": "reserveOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9990,
                  "src": "26941:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9975,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "26941:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "26896:64:26"
            },
            "returnParameters": {
              "id": 9981,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9980,
                  "mutability": "mutable",
                  "name": "amountOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9990,
                  "src": "26999:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9979,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "26999:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "26998:16:26"
            },
            "scope": 10051,
            "src": "26875:241:26",
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              7814
            ],
            "body": {
              "id": 10009,
              "nodeType": "Block",
              "src": "27259:101:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 10004,
                        "name": "amountOut",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9992,
                        "src": "27322:9:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 10005,
                        "name": "reserveIn",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9994,
                        "src": "27333:9:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 10006,
                        "name": "reserveOut",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9996,
                        "src": "27344:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 10002,
                        "name": "MockUniswapV2Router02UniswapV2Library",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10567,
                        "src": "27272:37:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                          "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                        }
                      },
                      "id": 10003,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getAmountIn",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10400,
                      "src": "27272:49:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
                      }
                    },
                    "id": 10007,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "27272:83:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 10001,
                  "id": 10008,
                  "nodeType": "Return",
                  "src": "27265:90:26"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "85f8c259",
            "id": 10010,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getAmountIn",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 9998,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "27226:8:26"
            },
            "parameters": {
              "id": 9997,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9992,
                  "mutability": "mutable",
                  "name": "amountOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10010,
                  "src": "27146:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9991,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "27146:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9994,
                  "mutability": "mutable",
                  "name": "reserveIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10010,
                  "src": "27166:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9993,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "27166:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9996,
                  "mutability": "mutable",
                  "name": "reserveOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10010,
                  "src": "27186:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9995,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "27186:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "27140:65:26"
            },
            "returnParameters": {
              "id": 10001,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10000,
                  "mutability": "mutable",
                  "name": "amountIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10010,
                  "src": "27244:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9999,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "27244:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "27243:15:26"
            },
            "scope": 10051,
            "src": "27120:240:26",
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              7825
            ],
            "body": {
              "id": 10029,
              "nodeType": "Block",
              "src": "27508:94:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 10024,
                        "name": "factory",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8030,
                        "src": "27573:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 10025,
                        "name": "amountIn",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10012,
                        "src": "27582:8:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 10026,
                        "name": "path",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10015,
                        "src": "27592:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 10022,
                        "name": "MockUniswapV2Router02UniswapV2Library",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10567,
                        "src": "27521:37:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                          "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                        }
                      },
                      "id": 10023,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getAmountsOut",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10481,
                      "src": "27521:51:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$",
                        "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)"
                      }
                    },
                    "id": 10027,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "27521:76:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "functionReturnParameters": 10021,
                  "id": 10028,
                  "nodeType": "Return",
                  "src": "27514:83:26"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "d06ca61f",
            "id": 10030,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getAmountsOut",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 10017,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "27461:8:26"
            },
            "parameters": {
              "id": 10016,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10012,
                  "mutability": "mutable",
                  "name": "amountIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10030,
                  "src": "27387:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10011,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "27387:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10015,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10030,
                  "src": "27402:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 10013,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "27402:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 10014,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "27402:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "27386:38:26"
            },
            "returnParameters": {
              "id": 10021,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10020,
                  "mutability": "mutable",
                  "name": "amounts",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10030,
                  "src": "27483:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 10018,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "27483:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 10019,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "27483:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "27482:23:26"
            },
            "scope": 10051,
            "src": "27364:238:26",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              7836
            ],
            "body": {
              "id": 10049,
              "nodeType": "Block",
              "src": "27750:94:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 10044,
                        "name": "factory",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 8030,
                        "src": "27814:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 10045,
                        "name": "amountOut",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10032,
                        "src": "27823:9:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 10046,
                        "name": "path",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10035,
                        "src": "27834:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 10042,
                        "name": "MockUniswapV2Router02UniswapV2Library",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10567,
                        "src": "27763:37:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02UniswapV2Library_$10567_$",
                          "typeString": "type(library MockUniswapV2Router02UniswapV2Library)"
                        }
                      },
                      "id": 10043,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getAmountsIn",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10566,
                      "src": "27763:50:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$",
                        "typeString": "function (address,uint256,address[] memory) view returns (uint256[] memory)"
                      }
                    },
                    "id": 10047,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "27763:76:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "functionReturnParameters": 10041,
                  "id": 10048,
                  "nodeType": "Return",
                  "src": "27756:83:26"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "1f00ca74",
            "id": 10050,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getAmountsIn",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 10037,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "27703:8:26"
            },
            "parameters": {
              "id": 10036,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10032,
                  "mutability": "mutable",
                  "name": "amountOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10050,
                  "src": "27628:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10031,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "27628:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10035,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10050,
                  "src": "27644:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 10033,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "27644:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 10034,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "27644:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "27627:39:26"
            },
            "returnParameters": {
              "id": 10041,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10040,
                  "mutability": "mutable",
                  "name": "amounts",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10050,
                  "src": "27725:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 10038,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "27725:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 10039,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "27725:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "27724:23:26"
            },
            "scope": 10051,
            "src": "27606:238:26",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          }
        ],
        "scope": 10726,
        "src": "8709:19137:26"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "library",
        "documentation": null,
        "fullyImplemented": true,
        "id": 10124,
        "linearizedBaseContracts": [
          10124
        ],
        "name": "MockUniswapV2Router02SafeMath",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": {
              "id": 10072,
              "nodeType": "Block",
              "src": "28056:60:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 10068,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "id": 10065,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftHandSide": {
                                "argumentTypes": null,
                                "id": 10061,
                                "name": "z",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10058,
                                "src": "28071:1:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "Assignment",
                              "operator": "=",
                              "rightHandSide": {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 10064,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "id": 10062,
                                  "name": "x",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 10053,
                                  "src": "28075:1:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "+",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "id": 10063,
                                  "name": "y",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 10055,
                                  "src": "28079:1:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "28075:5:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "28071:9:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "id": 10066,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "28070:11:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 10067,
                          "name": "x",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10053,
                          "src": "28085:1:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "28070:16:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "64732d6d6174682d6164642d6f766572666c6f77",
                        "id": 10069,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "28088:22:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db",
                          "typeString": "literal_string \"ds-math-add-overflow\""
                        },
                        "value": "ds-math-add-overflow"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_3903056b84ed2aba2be78662dc6c5c99b160cebe9af9bd9493d0fc28ff16f6db",
                          "typeString": "literal_string \"ds-math-add-overflow\""
                        }
                      ],
                      "id": 10060,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "28062:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 10070,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "28062:49:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10071,
                  "nodeType": "ExpressionStatement",
                  "src": "28062:49:26"
                }
              ]
            },
            "documentation": null,
            "id": 10073,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "add",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10056,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10053,
                  "mutability": "mutable",
                  "name": "x",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10073,
                  "src": "28009:6:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10052,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "28009:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10055,
                  "mutability": "mutable",
                  "name": "y",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10073,
                  "src": "28017:6:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10054,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "28017:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "28008:16:26"
            },
            "returnParameters": {
              "id": 10059,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10058,
                  "mutability": "mutable",
                  "name": "z",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10073,
                  "src": "28048:6:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10057,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "28048:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "28047:8:26"
            },
            "scope": 10124,
            "src": "27996:120:26",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 10094,
              "nodeType": "Block",
              "src": "28180:61:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 10090,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "id": 10087,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftHandSide": {
                                "argumentTypes": null,
                                "id": 10083,
                                "name": "z",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10080,
                                "src": "28195:1:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "Assignment",
                              "operator": "=",
                              "rightHandSide": {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 10086,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "id": 10084,
                                  "name": "x",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 10075,
                                  "src": "28199:1:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "-",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "id": 10085,
                                  "name": "y",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 10077,
                                  "src": "28203:1:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "28199:5:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "28195:9:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "id": 10088,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "28194:11:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 10089,
                          "name": "x",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10075,
                          "src": "28209:1:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "28194:16:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "64732d6d6174682d7375622d756e646572666c6f77",
                        "id": 10091,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "28212:23:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590",
                          "typeString": "literal_string \"ds-math-sub-underflow\""
                        },
                        "value": "ds-math-sub-underflow"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_03b20b9f6e6e7905f077509fd420fb44afc685f254bcefe49147296e1ba25590",
                          "typeString": "literal_string \"ds-math-sub-underflow\""
                        }
                      ],
                      "id": 10082,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "28186:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 10092,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "28186:50:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10093,
                  "nodeType": "ExpressionStatement",
                  "src": "28186:50:26"
                }
              ]
            },
            "documentation": null,
            "id": 10095,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "sub",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10078,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10075,
                  "mutability": "mutable",
                  "name": "x",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10095,
                  "src": "28133:6:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10074,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "28133:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10077,
                  "mutability": "mutable",
                  "name": "y",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10095,
                  "src": "28141:6:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10076,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "28141:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "28132:16:26"
            },
            "returnParameters": {
              "id": 10081,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10080,
                  "mutability": "mutable",
                  "name": "z",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10095,
                  "src": "28172:6:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10079,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "28172:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "28171:8:26"
            },
            "scope": 10124,
            "src": "28120:121:26",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 10122,
              "nodeType": "Block",
              "src": "28305:74:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 10118,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 10107,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 10105,
                            "name": "y",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10099,
                            "src": "28319:1:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 10106,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "28324:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "28319:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 10117,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 10115,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "components": [
                                {
                                  "argumentTypes": null,
                                  "id": 10112,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftHandSide": {
                                    "argumentTypes": null,
                                    "id": 10108,
                                    "name": "z",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 10102,
                                    "src": "28330:1:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "Assignment",
                                  "operator": "=",
                                  "rightHandSide": {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 10111,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "id": 10109,
                                      "name": "x",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 10097,
                                      "src": "28334:1:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "*",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "id": 10110,
                                      "name": "y",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 10099,
                                      "src": "28338:1:26",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "src": "28334:5:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "src": "28330:9:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "id": 10113,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "TupleExpression",
                              "src": "28329:11:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "/",
                            "rightExpression": {
                              "argumentTypes": null,
                              "id": 10114,
                              "name": "y",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10099,
                              "src": "28343:1:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "28329:15:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 10116,
                            "name": "x",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10097,
                            "src": "28348:1:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "28329:20:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "28319:30:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "64732d6d6174682d6d756c2d6f766572666c6f77",
                        "id": 10119,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "28351:22:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd",
                          "typeString": "literal_string \"ds-math-mul-overflow\""
                        },
                        "value": "ds-math-mul-overflow"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_25a0ef6406c6af6852555433653ce478274cd9f03a5dec44d001868a76b3bfdd",
                          "typeString": "literal_string \"ds-math-mul-overflow\""
                        }
                      ],
                      "id": 10104,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "28311:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 10120,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "28311:63:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10121,
                  "nodeType": "ExpressionStatement",
                  "src": "28311:63:26"
                }
              ]
            },
            "documentation": null,
            "id": 10123,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "mul",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10100,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10097,
                  "mutability": "mutable",
                  "name": "x",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10123,
                  "src": "28258:6:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10096,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "28258:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10099,
                  "mutability": "mutable",
                  "name": "y",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10123,
                  "src": "28266:6:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10098,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "28266:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "28257:16:26"
            },
            "returnParameters": {
              "id": 10103,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10102,
                  "mutability": "mutable",
                  "name": "z",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10123,
                  "src": "28297:6:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10101,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "28297:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "28296:8:26"
            },
            "scope": 10124,
            "src": "28245:134:26",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          }
        ],
        "scope": 10726,
        "src": "27954:427:26"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "library",
        "documentation": null,
        "fullyImplemented": true,
        "id": 10567,
        "linearizedBaseContracts": [
          10567
        ],
        "name": "MockUniswapV2Router02UniswapV2Library",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 10127,
            "libraryName": {
              "contractScope": null,
              "id": 10125,
              "name": "MockUniswapV2Router02SafeMath",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 10124,
              "src": "28439:29:26",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_MockUniswapV2Router02SafeMath_$10124",
                "typeString": "library MockUniswapV2Router02SafeMath"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "28433:45:26",
            "typeName": {
              "id": 10126,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "28473:4:26",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "body": {
              "id": 10170,
              "nodeType": "Block",
              "src": "28701:266:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 10141,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 10139,
                          "name": "tokenA",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10129,
                          "src": "28715:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 10140,
                          "name": "tokenB",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10131,
                          "src": "28725:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "28715:16:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553",
                        "id": 10142,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "28733:60:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e033e3553c57a487455a4f0dd694fcfaa321154f036a07985aaa44046ec2b957",
                          "typeString": "literal_string \"MockUniswapV2Router02UniswapV2Library: IDENTICAL_ADDRESSES\""
                        },
                        "value": "MockUniswapV2Router02UniswapV2Library: IDENTICAL_ADDRESSES"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e033e3553c57a487455a4f0dd694fcfaa321154f036a07985aaa44046ec2b957",
                          "typeString": "literal_string \"MockUniswapV2Router02UniswapV2Library: IDENTICAL_ADDRESSES\""
                        }
                      ],
                      "id": 10138,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "28707:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 10143,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "28707:87:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10144,
                  "nodeType": "ExpressionStatement",
                  "src": "28707:87:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 10158,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 10145,
                          "name": "token0",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10134,
                          "src": "28801:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 10146,
                          "name": "token1",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10136,
                          "src": "28809:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "id": 10147,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "28800:16:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$_t_address_$",
                        "typeString": "tuple(address,address)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "condition": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 10150,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 10148,
                          "name": "tokenA",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10129,
                          "src": "28819:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 10149,
                          "name": "tokenB",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10131,
                          "src": "28828:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "28819:15:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "falseExpression": {
                        "argumentTypes": null,
                        "components": [
                          {
                            "argumentTypes": null,
                            "id": 10154,
                            "name": "tokenB",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10131,
                            "src": "28857:6:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 10155,
                            "name": "tokenA",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10129,
                            "src": "28865:6:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "id": 10156,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "28856:16:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_tuple$_t_address_$_t_address_$",
                          "typeString": "tuple(address,address)"
                        }
                      },
                      "id": 10157,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "Conditional",
                      "src": "28819:53:26",
                      "trueExpression": {
                        "argumentTypes": null,
                        "components": [
                          {
                            "argumentTypes": null,
                            "id": 10151,
                            "name": "tokenA",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10129,
                            "src": "28838:6:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 10152,
                            "name": "tokenB",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10131,
                            "src": "28846:6:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "id": 10153,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "28837:16:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_tuple$_t_address_$_t_address_$",
                          "typeString": "tuple(address,address)"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$_t_address_$",
                        "typeString": "tuple(address,address)"
                      }
                    },
                    "src": "28800:72:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10159,
                  "nodeType": "ExpressionStatement",
                  "src": "28800:72:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 10166,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 10161,
                          "name": "token0",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10134,
                          "src": "28886:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 10164,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "28904:1:26",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 10163,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "28896:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 10162,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "28896:7:26",
                              "typeDescriptions": {
                                "typeIdentifier": null,
                                "typeString": null
                              }
                            }
                          },
                          "id": 10165,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "28896:10:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address_payable",
                            "typeString": "address payable"
                          }
                        },
                        "src": "28886:20:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a205a45524f5f41444452455353",
                        "id": 10167,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "28908:53:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_cef084c870bacc46715463b54d10420b7dd84b58e16c48080d96e7ab20b6ee83",
                          "typeString": "literal_string \"MockUniswapV2Router02UniswapV2Library: ZERO_ADDRESS\""
                        },
                        "value": "MockUniswapV2Router02UniswapV2Library: ZERO_ADDRESS"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_cef084c870bacc46715463b54d10420b7dd84b58e16c48080d96e7ab20b6ee83",
                          "typeString": "literal_string \"MockUniswapV2Router02UniswapV2Library: ZERO_ADDRESS\""
                        }
                      ],
                      "id": 10160,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "28878:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 10168,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "28878:84:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10169,
                  "nodeType": "ExpressionStatement",
                  "src": "28878:84:26"
                }
              ]
            },
            "documentation": null,
            "id": 10171,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "sortTokens",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10132,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10129,
                  "mutability": "mutable",
                  "name": "tokenA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10171,
                  "src": "28600:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10128,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "28600:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10131,
                  "mutability": "mutable",
                  "name": "tokenB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10171,
                  "src": "28616:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10130,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "28616:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "28599:32:26"
            },
            "returnParameters": {
              "id": 10137,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10134,
                  "mutability": "mutable",
                  "name": "token0",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10171,
                  "src": "28667:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10133,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "28667:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10136,
                  "mutability": "mutable",
                  "name": "token1",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10171,
                  "src": "28683:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10135,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "28683:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "28666:32:26"
            },
            "scope": 10567,
            "src": "28580:387:26",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 10190,
              "nodeType": "Block",
              "src": "29171:89:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 10186,
                        "name": "tokenA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10175,
                        "src": "29240:6:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 10187,
                        "name": "tokenB",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10177,
                        "src": "29248:6:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 10183,
                            "name": "factory",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10173,
                            "src": "29223:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 10182,
                          "name": "MockUniswapV2Router02IUniswapV2Factory",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7291,
                          "src": "29184:38:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IUniswapV2Factory_$7291_$",
                            "typeString": "type(contract MockUniswapV2Router02IUniswapV2Factory)"
                          }
                        },
                        "id": 10184,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "29184:47:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MockUniswapV2Router02IUniswapV2Factory_$7291",
                          "typeString": "contract MockUniswapV2Router02IUniswapV2Factory"
                        }
                      },
                      "id": 10185,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getPair",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7259,
                      "src": "29184:55:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_address_$",
                        "typeString": "function (address,address) view external returns (address)"
                      }
                    },
                    "id": 10188,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "29184:71:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 10181,
                  "id": 10189,
                  "nodeType": "Return",
                  "src": "29177:78:26"
                }
              ]
            },
            "documentation": null,
            "id": 10191,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "pairFor",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10178,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10173,
                  "mutability": "mutable",
                  "name": "factory",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10191,
                  "src": "29074:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10172,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "29074:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10175,
                  "mutability": "mutable",
                  "name": "tokenA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10191,
                  "src": "29095:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10174,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "29095:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10177,
                  "mutability": "mutable",
                  "name": "tokenB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10191,
                  "src": "29115:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10176,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "29115:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "29068:65:26"
            },
            "returnParameters": {
              "id": 10181,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10180,
                  "mutability": "mutable",
                  "name": "pair",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10191,
                  "src": "29157:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10179,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "29157:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "29156:14:26"
            },
            "scope": 10567,
            "src": "29052:208:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 10240,
              "nodeType": "Block",
              "src": "29450:279:26",
              "statements": [
                {
                  "assignments": [
                    10205,
                    null
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 10205,
                      "mutability": "mutable",
                      "name": "token0",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 10240,
                      "src": "29457:14:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 10204,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "29457:7:26",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    },
                    null
                  ],
                  "id": 10210,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 10207,
                        "name": "tokenA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10195,
                        "src": "29488:6:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 10208,
                        "name": "tokenB",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10197,
                        "src": "29496:6:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 10206,
                      "name": "sortTokens",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10171,
                      "src": "29477:10:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_address_$_t_address_$",
                        "typeString": "function (address,address) pure returns (address,address)"
                      }
                    },
                    "id": 10209,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "29477:26:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_address_$_t_address_$",
                      "typeString": "tuple(address,address)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "29456:47:26"
                },
                {
                  "assignments": [
                    10212,
                    10214,
                    null
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 10212,
                      "mutability": "mutable",
                      "name": "reserve0",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 10240,
                      "src": "29510:13:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 10211,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "29510:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    },
                    {
                      "constant": false,
                      "id": 10214,
                      "mutability": "mutable",
                      "name": "reserve1",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 10240,
                      "src": "29525:13:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 10213,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "29525:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    },
                    null
                  ],
                  "id": 10224,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 10217,
                                "name": "factory",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10193,
                                "src": "29594:7:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 10218,
                                "name": "tokenA",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10195,
                                "src": "29603:6:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 10219,
                                "name": "tokenB",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10197,
                                "src": "29611:6:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "id": 10216,
                              "name": "pairFor",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10191,
                              "src": "29586:7:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_address_$",
                                "typeString": "function (address,address,address) view returns (address)"
                              }
                            },
                            "id": 10220,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "29586:32:26",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 10215,
                          "name": "MockUniswapV2Router02IUniswapV2Pair",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7531,
                          "src": "29550:35:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531_$",
                            "typeString": "type(contract MockUniswapV2Router02IUniswapV2Pair)"
                          }
                        },
                        "id": 10221,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "29550:69:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MockUniswapV2Router02IUniswapV2Pair_$7531",
                          "typeString": "contract MockUniswapV2Router02IUniswapV2Pair"
                        }
                      },
                      "id": 10222,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getReserves",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7473,
                      "src": "29550:81:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$",
                        "typeString": "function () view external returns (uint112,uint112,uint32)"
                      }
                    },
                    "id": 10223,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "29550:83:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$",
                      "typeString": "tuple(uint112,uint112,uint32)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "29509:124:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 10238,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 10225,
                          "name": "reserveA",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10200,
                          "src": "29640:8:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 10226,
                          "name": "reserveB",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10202,
                          "src": "29650:8:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 10227,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "29639:20:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "condition": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 10230,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 10228,
                          "name": "tokenA",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10195,
                          "src": "29662:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 10229,
                          "name": "token0",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10205,
                          "src": "29672:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "29662:16:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "falseExpression": {
                        "argumentTypes": null,
                        "components": [
                          {
                            "argumentTypes": null,
                            "id": 10234,
                            "name": "reserve1",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10214,
                            "src": "29705:8:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 10235,
                            "name": "reserve0",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10212,
                            "src": "29715:8:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "id": 10236,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "29704:20:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                          "typeString": "tuple(uint256,uint256)"
                        }
                      },
                      "id": 10237,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "Conditional",
                      "src": "29662:62:26",
                      "trueExpression": {
                        "argumentTypes": null,
                        "components": [
                          {
                            "argumentTypes": null,
                            "id": 10231,
                            "name": "reserve0",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10212,
                            "src": "29682:8:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 10232,
                            "name": "reserve1",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10214,
                            "src": "29692:8:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "id": 10233,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "29681:20:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                          "typeString": "tuple(uint256,uint256)"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256)"
                      }
                    },
                    "src": "29639:85:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10239,
                  "nodeType": "ExpressionStatement",
                  "src": "29639:85:26"
                }
              ]
            },
            "documentation": null,
            "id": 10241,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getReserves",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10198,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10193,
                  "mutability": "mutable",
                  "name": "factory",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10241,
                  "src": "29337:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10192,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "29337:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10195,
                  "mutability": "mutable",
                  "name": "tokenA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10241,
                  "src": "29358:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10194,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "29358:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10197,
                  "mutability": "mutable",
                  "name": "tokenB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10241,
                  "src": "29378:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10196,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "29378:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "29331:65:26"
            },
            "returnParameters": {
              "id": 10203,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10200,
                  "mutability": "mutable",
                  "name": "reserveA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10241,
                  "src": "29420:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10199,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "29420:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10202,
                  "mutability": "mutable",
                  "name": "reserveB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10241,
                  "src": "29435:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10201,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "29435:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "29419:30:26"
            },
            "scope": 10567,
            "src": "29311:418:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 10279,
              "nodeType": "Block",
              "src": "29947:267:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 10255,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 10253,
                          "name": "amountA",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10243,
                          "src": "29961:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 10254,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "29971:1:26",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "29961:11:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e54",
                        "id": 10256,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "29974:60:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_710ddb071836d1fe8e81aaeda2d7ce6a9f6cb75aa9691bface40437bc4b031c9",
                          "typeString": "literal_string \"MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_AMOUNT\""
                        },
                        "value": "MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_AMOUNT"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_710ddb071836d1fe8e81aaeda2d7ce6a9f6cb75aa9691bface40437bc4b031c9",
                          "typeString": "literal_string \"MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_AMOUNT\""
                        }
                      ],
                      "id": 10252,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "29953:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 10257,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "29953:82:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10258,
                  "nodeType": "ExpressionStatement",
                  "src": "29953:82:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 10266,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 10262,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 10260,
                            "name": "reserveA",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10245,
                            "src": "30056:8:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 10261,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "30067:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "30056:12:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 10265,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 10263,
                            "name": "reserveB",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10247,
                            "src": "30072:8:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 10264,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "30083:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "30072:12:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "30056:28:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459",
                        "id": 10267,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "30092:63:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_72e879e6827aee559bc9d3ea71987251752e7824a2957b365ea599ff002a759c",
                          "typeString": "literal_string \"MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_LIQUIDITY\""
                        },
                        "value": "MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_LIQUIDITY"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_72e879e6827aee559bc9d3ea71987251752e7824a2957b365ea599ff002a759c",
                          "typeString": "literal_string \"MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_LIQUIDITY\""
                        }
                      ],
                      "id": 10259,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "30041:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 10268,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "30041:120:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10269,
                  "nodeType": "ExpressionStatement",
                  "src": "30041:120:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 10277,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 10270,
                      "name": "amountB",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10250,
                      "src": "30167:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 10276,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 10273,
                            "name": "reserveB",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10247,
                            "src": "30189:8:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 10271,
                            "name": "amountA",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10243,
                            "src": "30177:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 10272,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "mul",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10123,
                          "src": "30177:11:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                            "typeString": "function (uint256,uint256) pure returns (uint256)"
                          }
                        },
                        "id": 10274,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "30177:21:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "/",
                      "rightExpression": {
                        "argumentTypes": null,
                        "id": 10275,
                        "name": "reserveA",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10245,
                        "src": "30201:8:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "30177:32:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "30167:42:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 10278,
                  "nodeType": "ExpressionStatement",
                  "src": "30167:42:26"
                }
              ]
            },
            "documentation": null,
            "id": 10280,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "quote",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10248,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10243,
                  "mutability": "mutable",
                  "name": "amountA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10280,
                  "src": "29855:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10242,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "29855:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10245,
                  "mutability": "mutable",
                  "name": "reserveA",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10280,
                  "src": "29873:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10244,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "29873:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10247,
                  "mutability": "mutable",
                  "name": "reserveB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10280,
                  "src": "29892:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10246,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "29892:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "29849:60:26"
            },
            "returnParameters": {
              "id": 10251,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10250,
                  "mutability": "mutable",
                  "name": "amountB",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10280,
                  "src": "29933:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10249,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "29933:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "29932:14:26"
            },
            "scope": 10567,
            "src": "29835:379:26",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 10339,
              "nodeType": "Block",
              "src": "30454:435:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 10294,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 10292,
                          "name": "amountIn",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10282,
                          "src": "30468:8:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 10293,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "30479:1:26",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "30468:12:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54",
                        "id": 10295,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "30482:66:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_31b38b31bdd9765a54d506f62592ebeb03d467d884b8467083bed1947be406c6",
                          "typeString": "literal_string \"MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT\""
                        },
                        "value": "MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_31b38b31bdd9765a54d506f62592ebeb03d467d884b8467083bed1947be406c6",
                          "typeString": "literal_string \"MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT\""
                        }
                      ],
                      "id": 10291,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "30460:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 10296,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "30460:89:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10297,
                  "nodeType": "ExpressionStatement",
                  "src": "30460:89:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 10305,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 10301,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 10299,
                            "name": "reserveIn",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10284,
                            "src": "30570:9:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 10300,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "30582:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "30570:13:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 10304,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 10302,
                            "name": "reserveOut",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10286,
                            "src": "30587:10:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 10303,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "30600:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "30587:14:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "30570:31:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459",
                        "id": 10306,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "30609:63:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_72e879e6827aee559bc9d3ea71987251752e7824a2957b365ea599ff002a759c",
                          "typeString": "literal_string \"MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_LIQUIDITY\""
                        },
                        "value": "MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_LIQUIDITY"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_72e879e6827aee559bc9d3ea71987251752e7824a2957b365ea599ff002a759c",
                          "typeString": "literal_string \"MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_LIQUIDITY\""
                        }
                      ],
                      "id": 10298,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "30555:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 10307,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "30555:123:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10308,
                  "nodeType": "ExpressionStatement",
                  "src": "30555:123:26"
                },
                {
                  "assignments": [
                    10310
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 10310,
                      "mutability": "mutable",
                      "name": "amountInWithFee",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 10339,
                      "src": "30684:20:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 10309,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "30684:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 10315,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "393937",
                        "id": 10313,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "30720:3:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_997_by_1",
                          "typeString": "int_const 997"
                        },
                        "value": "997"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_997_by_1",
                          "typeString": "int_const 997"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 10311,
                        "name": "amountIn",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10282,
                        "src": "30707:8:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 10312,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "mul",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10123,
                      "src": "30707:12:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                        "typeString": "function (uint256,uint256) pure returns (uint256)"
                      }
                    },
                    "id": 10314,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "30707:17:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "30684:40:26"
                },
                {
                  "assignments": [
                    10317
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 10317,
                      "mutability": "mutable",
                      "name": "numerator",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 10339,
                      "src": "30730:14:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 10316,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "30730:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 10322,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 10320,
                        "name": "reserveOut",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10286,
                        "src": "30767:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 10318,
                        "name": "amountInWithFee",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10310,
                        "src": "30747:15:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 10319,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "mul",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10123,
                      "src": "30747:19:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                        "typeString": "function (uint256,uint256) pure returns (uint256)"
                      }
                    },
                    "id": 10321,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "30747:31:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "30730:48:26"
                },
                {
                  "assignments": [
                    10324
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 10324,
                      "mutability": "mutable",
                      "name": "denominator",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 10339,
                      "src": "30784:16:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 10323,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "30784:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 10332,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 10330,
                        "name": "amountInWithFee",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10310,
                        "src": "30827:15:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "31303030",
                            "id": 10327,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "30817:4:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1000_by_1",
                              "typeString": "int_const 1000"
                            },
                            "value": "1000"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_1000_by_1",
                              "typeString": "int_const 1000"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 10325,
                            "name": "reserveIn",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10284,
                            "src": "30803:9:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 10326,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "mul",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10123,
                          "src": "30803:13:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                            "typeString": "function (uint256,uint256) pure returns (uint256)"
                          }
                        },
                        "id": 10328,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "30803:19:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 10329,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "add",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10073,
                      "src": "30803:23:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                        "typeString": "function (uint256,uint256) pure returns (uint256)"
                      }
                    },
                    "id": 10331,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "30803:40:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "30784:59:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 10337,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 10333,
                      "name": "amountOut",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10289,
                      "src": "30849:9:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 10336,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 10334,
                        "name": "numerator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10317,
                        "src": "30861:9:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "/",
                      "rightExpression": {
                        "argumentTypes": null,
                        "id": 10335,
                        "name": "denominator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10324,
                        "src": "30873:11:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "30861:23:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "30849:35:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 10338,
                  "nodeType": "ExpressionStatement",
                  "src": "30849:35:26"
                }
              ]
            },
            "documentation": null,
            "id": 10340,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getAmountOut",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10287,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10282,
                  "mutability": "mutable",
                  "name": "amountIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10340,
                  "src": "30356:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10281,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "30356:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10284,
                  "mutability": "mutable",
                  "name": "reserveIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10340,
                  "src": "30375:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10283,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "30375:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10286,
                  "mutability": "mutable",
                  "name": "reserveOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10340,
                  "src": "30395:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10285,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "30395:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "30350:64:26"
            },
            "returnParameters": {
              "id": 10290,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10289,
                  "mutability": "mutable",
                  "name": "amountOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10340,
                  "src": "30438:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10288,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "30438:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "30437:16:26"
            },
            "scope": 10567,
            "src": "30329:560:26",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 10399,
              "nodeType": "Block",
              "src": "31127:396:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 10354,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 10352,
                          "name": "amountOut",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10342,
                          "src": "31141:9:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 10353,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "31153:1:26",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "31141:13:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e54",
                        "id": 10355,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "31156:67:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_d0393c3b42d14d45450bef0c11223f824db4877fb089866b48531b9f31f4134b",
                          "typeString": "literal_string \"MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT\""
                        },
                        "value": "MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_d0393c3b42d14d45450bef0c11223f824db4877fb089866b48531b9f31f4134b",
                          "typeString": "literal_string \"MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT\""
                        }
                      ],
                      "id": 10351,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "31133:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 10356,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "31133:91:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10357,
                  "nodeType": "ExpressionStatement",
                  "src": "31133:91:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 10365,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 10361,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 10359,
                            "name": "reserveIn",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10344,
                            "src": "31245:9:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 10360,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "31257:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "31245:13:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 10364,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 10362,
                            "name": "reserveOut",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10346,
                            "src": "31262:10:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 10363,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "31275:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "31262:14:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "31245:31:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459",
                        "id": 10366,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "31284:63:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_72e879e6827aee559bc9d3ea71987251752e7824a2957b365ea599ff002a759c",
                          "typeString": "literal_string \"MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_LIQUIDITY\""
                        },
                        "value": "MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_LIQUIDITY"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_72e879e6827aee559bc9d3ea71987251752e7824a2957b365ea599ff002a759c",
                          "typeString": "literal_string \"MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_LIQUIDITY\""
                        }
                      ],
                      "id": 10358,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "31230:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 10367,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "31230:123:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10368,
                  "nodeType": "ExpressionStatement",
                  "src": "31230:123:26"
                },
                {
                  "assignments": [
                    10370
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 10370,
                      "mutability": "mutable",
                      "name": "numerator",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 10399,
                      "src": "31359:14:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 10369,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "31359:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 10378,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "31303030",
                        "id": 10376,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "31405:4:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1000_by_1",
                          "typeString": "int_const 1000"
                        },
                        "value": "1000"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_1000_by_1",
                          "typeString": "int_const 1000"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 10373,
                            "name": "amountOut",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10342,
                            "src": "31390:9:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 10371,
                            "name": "reserveIn",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10344,
                            "src": "31376:9:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 10372,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "mul",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10123,
                          "src": "31376:13:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                            "typeString": "function (uint256,uint256) pure returns (uint256)"
                          }
                        },
                        "id": 10374,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "31376:24:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 10375,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "mul",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10123,
                      "src": "31376:28:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                        "typeString": "function (uint256,uint256) pure returns (uint256)"
                      }
                    },
                    "id": 10377,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "31376:34:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "31359:51:26"
                },
                {
                  "assignments": [
                    10380
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 10380,
                      "mutability": "mutable",
                      "name": "denominator",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 10399,
                      "src": "31416:16:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 10379,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "31416:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 10388,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "393937",
                        "id": 10386,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "31465:3:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_997_by_1",
                          "typeString": "int_const 997"
                        },
                        "value": "997"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_997_by_1",
                          "typeString": "int_const 997"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 10383,
                            "name": "amountOut",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10342,
                            "src": "31450:9:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 10381,
                            "name": "reserveOut",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10346,
                            "src": "31435:10:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 10382,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sub",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10095,
                          "src": "31435:14:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                            "typeString": "function (uint256,uint256) pure returns (uint256)"
                          }
                        },
                        "id": 10384,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "31435:25:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 10385,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "mul",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10123,
                      "src": "31435:29:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                        "typeString": "function (uint256,uint256) pure returns (uint256)"
                      }
                    },
                    "id": 10387,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "31435:34:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "31416:53:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 10397,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 10389,
                      "name": "amountIn",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10349,
                      "src": "31475:8:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 10395,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "31516:1:26",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 10392,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 10390,
                                "name": "numerator",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10370,
                                "src": "31487:9:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "/",
                              "rightExpression": {
                                "argumentTypes": null,
                                "id": 10391,
                                "name": "denominator",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10380,
                                "src": "31499:11:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "31487:23:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "id": 10393,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "31486:25:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 10394,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 10073,
                        "src": "31486:29:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 10396,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "31486:32:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "31475:43:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 10398,
                  "nodeType": "ExpressionStatement",
                  "src": "31475:43:26"
                }
              ]
            },
            "documentation": null,
            "id": 10400,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getAmountIn",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10347,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10342,
                  "mutability": "mutable",
                  "name": "amountOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10400,
                  "src": "31029:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10341,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "31029:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10344,
                  "mutability": "mutable",
                  "name": "reserveIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10400,
                  "src": "31049:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10343,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "31049:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10346,
                  "mutability": "mutable",
                  "name": "reserveOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10400,
                  "src": "31069:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10345,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "31069:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "31023:65:26"
            },
            "returnParameters": {
              "id": 10350,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10349,
                  "mutability": "mutable",
                  "name": "amountIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10400,
                  "src": "31112:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10348,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "31112:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "31111:15:26"
            },
            "scope": 10567,
            "src": "31003:520:26",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 10480,
              "nodeType": "Block",
              "src": "31738:366:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 10417,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 10414,
                            "name": "path",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10407,
                            "src": "31752:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "id": 10415,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "31752:11:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "32",
                          "id": 10416,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "31767:1:26",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_2_by_1",
                            "typeString": "int_const 2"
                          },
                          "value": "2"
                        },
                        "src": "31752:16:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a20494e56414c49445f50415448",
                        "id": 10418,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "31770:53:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_ce03c8d5d1c725d1113ce8152bb100c0ee0bc95caa6a45941ab1f6ab45502ce4",
                          "typeString": "literal_string \"MockUniswapV2Router02UniswapV2Library: INVALID_PATH\""
                        },
                        "value": "MockUniswapV2Router02UniswapV2Library: INVALID_PATH"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_ce03c8d5d1c725d1113ce8152bb100c0ee0bc95caa6a45941ab1f6ab45502ce4",
                          "typeString": "literal_string \"MockUniswapV2Router02UniswapV2Library: INVALID_PATH\""
                        }
                      ],
                      "id": 10413,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "31744:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 10419,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "31744:80:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10420,
                  "nodeType": "ExpressionStatement",
                  "src": "31744:80:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 10428,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 10421,
                      "name": "amounts",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10411,
                      "src": "31830:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 10425,
                            "name": "path",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10407,
                            "src": "31851:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "id": 10426,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "31851:11:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 10424,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "NewExpression",
                        "src": "31840:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$",
                          "typeString": "function (uint256) pure returns (uint256[] memory)"
                        },
                        "typeName": {
                          "baseType": {
                            "id": 10422,
                            "name": "uint",
                            "nodeType": "ElementaryTypeName",
                            "src": "31844:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 10423,
                          "length": null,
                          "nodeType": "ArrayTypeName",
                          "src": "31844:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                            "typeString": "uint256[]"
                          }
                        }
                      },
                      "id": 10427,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "31840:23:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[] memory"
                      }
                    },
                    "src": "31830:33:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "id": 10429,
                  "nodeType": "ExpressionStatement",
                  "src": "31830:33:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 10434,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 10430,
                        "name": "amounts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10411,
                        "src": "31869:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      },
                      "id": 10432,
                      "indexExpression": {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 10431,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "31877:1:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "31869:10:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 10433,
                      "name": "amountIn",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10404,
                      "src": "31882:8:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "31869:21:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 10435,
                  "nodeType": "ExpressionStatement",
                  "src": "31869:21:26"
                },
                {
                  "body": {
                    "id": 10478,
                    "nodeType": "Block",
                    "src": "31935:165:26",
                    "statements": [
                      {
                        "assignments": [
                          10449,
                          10451
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 10449,
                            "mutability": "mutable",
                            "name": "reserveIn",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 10478,
                            "src": "31944:14:26",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 10448,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "31944:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          },
                          {
                            "constant": false,
                            "id": 10451,
                            "mutability": "mutable",
                            "name": "reserveOut",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 10478,
                            "src": "31960:15:26",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 10450,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "31960:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 10463,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 10453,
                              "name": "factory",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10402,
                              "src": "31991:7:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 10454,
                                "name": "path",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10407,
                                "src": "32000:4:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 10456,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 10455,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10437,
                                "src": "32005:1:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "32000:7:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 10457,
                                "name": "path",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10407,
                                "src": "32009:4:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 10461,
                              "indexExpression": {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 10460,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "id": 10458,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 10437,
                                  "src": "32014:1:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "+",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "31",
                                  "id": 10459,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "32018:1:26",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_1_by_1",
                                    "typeString": "int_const 1"
                                  },
                                  "value": "1"
                                },
                                "src": "32014:5:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "32009:11:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 10452,
                            "name": "getReserves",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10241,
                            "src": "31979:11:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$",
                              "typeString": "function (address,address,address) view returns (uint256,uint256)"
                            }
                          },
                          "id": 10462,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "31979:42:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                            "typeString": "tuple(uint256,uint256)"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "31943:78:26"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 10476,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10464,
                              "name": "amounts",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10411,
                              "src": "32029:7:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 10468,
                            "indexExpression": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 10467,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 10465,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10437,
                                "src": "32037:1:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "+",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "31",
                                "id": 10466,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "32041:1:26",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_1_by_1",
                                  "typeString": "int_const 1"
                                },
                                "value": "1"
                              },
                              "src": "32037:5:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "32029:14:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 10470,
                                  "name": "amounts",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 10411,
                                  "src": "32059:7:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                    "typeString": "uint256[] memory"
                                  }
                                },
                                "id": 10472,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 10471,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 10437,
                                  "src": "32067:1:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "32059:10:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 10473,
                                "name": "reserveIn",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10449,
                                "src": "32071:9:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 10474,
                                "name": "reserveOut",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10451,
                                "src": "32082:10:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 10469,
                              "name": "getAmountOut",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10340,
                              "src": "32046:12:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                                "typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 10475,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "32046:47:26",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "32029:64:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 10477,
                        "nodeType": "ExpressionStatement",
                        "src": "32029:64:26"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 10444,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 10439,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10437,
                      "src": "31909:1:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 10443,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 10440,
                          "name": "path",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10407,
                          "src": "31913:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 10441,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "31913:11:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 10442,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "31927:1:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "31913:15:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "31909:19:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 10479,
                  "initializationExpression": {
                    "assignments": [
                      10437
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 10437,
                        "mutability": "mutable",
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "overrides": null,
                        "scope": 10479,
                        "src": "31901:6:26",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 10436,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "31901:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 10438,
                    "initialValue": null,
                    "nodeType": "VariableDeclarationStatement",
                    "src": "31901:6:26"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 10446,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "31930:3:26",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 10445,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10437,
                        "src": "31930:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 10447,
                    "nodeType": "ExpressionStatement",
                    "src": "31930:3:26"
                  },
                  "nodeType": "ForStatement",
                  "src": "31896:204:26"
                }
              ]
            },
            "documentation": null,
            "id": 10481,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getAmountsOut",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10408,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10402,
                  "mutability": "mutable",
                  "name": "factory",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10481,
                  "src": "31626:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10401,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "31626:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10404,
                  "mutability": "mutable",
                  "name": "amountIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10481,
                  "src": "31647:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10403,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "31647:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10407,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10481,
                  "src": "31666:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 10405,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "31666:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 10406,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "31666:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "31620:71:26"
            },
            "returnParameters": {
              "id": 10412,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10411,
                  "mutability": "mutable",
                  "name": "amounts",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10481,
                  "src": "31715:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 10409,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "31715:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 10410,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "31715:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "31714:23:26"
            },
            "scope": 10567,
            "src": "31598:506:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 10565,
              "nodeType": "Block",
              "src": "32318:387:26",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 10498,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 10495,
                            "name": "path",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10488,
                            "src": "32332:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "id": 10496,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "32332:11:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "32",
                          "id": 10497,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "32347:1:26",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_2_by_1",
                            "typeString": "int_const 2"
                          },
                          "value": "2"
                        },
                        "src": "32332:16:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a20494e56414c49445f50415448",
                        "id": 10499,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "32350:53:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_ce03c8d5d1c725d1113ce8152bb100c0ee0bc95caa6a45941ab1f6ab45502ce4",
                          "typeString": "literal_string \"MockUniswapV2Router02UniswapV2Library: INVALID_PATH\""
                        },
                        "value": "MockUniswapV2Router02UniswapV2Library: INVALID_PATH"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_ce03c8d5d1c725d1113ce8152bb100c0ee0bc95caa6a45941ab1f6ab45502ce4",
                          "typeString": "literal_string \"MockUniswapV2Router02UniswapV2Library: INVALID_PATH\""
                        }
                      ],
                      "id": 10494,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "32324:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 10500,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "32324:80:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10501,
                  "nodeType": "ExpressionStatement",
                  "src": "32324:80:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 10509,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 10502,
                      "name": "amounts",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10492,
                      "src": "32410:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 10506,
                            "name": "path",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10488,
                            "src": "32431:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "id": 10507,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "32431:11:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 10505,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "NewExpression",
                        "src": "32420:10:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$",
                          "typeString": "function (uint256) pure returns (uint256[] memory)"
                        },
                        "typeName": {
                          "baseType": {
                            "id": 10503,
                            "name": "uint",
                            "nodeType": "ElementaryTypeName",
                            "src": "32424:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 10504,
                          "length": null,
                          "nodeType": "ArrayTypeName",
                          "src": "32424:6:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                            "typeString": "uint256[]"
                          }
                        }
                      },
                      "id": 10508,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "32420:23:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[] memory"
                      }
                    },
                    "src": "32410:33:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "id": 10510,
                  "nodeType": "ExpressionStatement",
                  "src": "32410:33:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 10518,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 10511,
                        "name": "amounts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10492,
                        "src": "32449:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      },
                      "id": 10516,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 10515,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 10512,
                            "name": "amounts",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10492,
                            "src": "32457:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                              "typeString": "uint256[] memory"
                            }
                          },
                          "id": 10513,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "32457:14:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 10514,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "32474:1:26",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "32457:18:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "32449:27:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 10517,
                      "name": "amountOut",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10485,
                      "src": "32479:9:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "32449:39:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 10519,
                  "nodeType": "ExpressionStatement",
                  "src": "32449:39:26"
                },
                {
                  "body": {
                    "id": 10563,
                    "nodeType": "Block",
                    "src": "32537:164:26",
                    "statements": [
                      {
                        "assignments": [
                          10534,
                          10536
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 10534,
                            "mutability": "mutable",
                            "name": "reserveIn",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 10563,
                            "src": "32546:14:26",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 10533,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "32546:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          },
                          {
                            "constant": false,
                            "id": 10536,
                            "mutability": "mutable",
                            "name": "reserveOut",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 10563,
                            "src": "32562:15:26",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 10535,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "32562:4:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 10548,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 10538,
                              "name": "factory",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10483,
                              "src": "32593:7:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 10539,
                                "name": "path",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10488,
                                "src": "32602:4:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 10543,
                              "indexExpression": {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 10542,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "id": 10540,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 10521,
                                  "src": "32607:1:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "-",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "31",
                                  "id": 10541,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "32611:1:26",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_1_by_1",
                                    "typeString": "int_const 1"
                                  },
                                  "value": "1"
                                },
                                "src": "32607:5:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "32602:11:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 10544,
                                "name": "path",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10488,
                                "src": "32615:4:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 10546,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 10545,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10521,
                                "src": "32620:1:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "32615:7:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 10537,
                            "name": "getReserves",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10241,
                            "src": "32581:11:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$",
                              "typeString": "function (address,address,address) view returns (uint256,uint256)"
                            }
                          },
                          "id": 10547,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "32581:42:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                            "typeString": "tuple(uint256,uint256)"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "32545:78:26"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 10561,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 10549,
                              "name": "amounts",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10492,
                              "src": "32631:7:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 10553,
                            "indexExpression": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 10552,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 10550,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10521,
                                "src": "32639:1:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "-",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "31",
                                "id": 10551,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "32643:1:26",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_1_by_1",
                                  "typeString": "int_const 1"
                                },
                                "value": "1"
                              },
                              "src": "32639:5:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "32631:14:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 10555,
                                  "name": "amounts",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 10492,
                                  "src": "32660:7:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                    "typeString": "uint256[] memory"
                                  }
                                },
                                "id": 10557,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 10556,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 10521,
                                  "src": "32668:1:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "32660:10:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 10558,
                                "name": "reserveIn",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10534,
                                "src": "32672:9:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 10559,
                                "name": "reserveOut",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10536,
                                "src": "32683:10:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 10554,
                              "name": "getAmountIn",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 10400,
                              "src": "32648:11:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                                "typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 10560,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "32648:46:26",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "32631:63:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 10562,
                        "nodeType": "ExpressionStatement",
                        "src": "32631:63:26"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 10529,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 10527,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10521,
                      "src": "32525:1:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 10528,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "32529:1:26",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "32525:5:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 10564,
                  "initializationExpression": {
                    "assignments": [
                      10521
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 10521,
                        "mutability": "mutable",
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "overrides": null,
                        "scope": 10564,
                        "src": "32499:6:26",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 10520,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "32499:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 10526,
                    "initialValue": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 10525,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 10522,
                          "name": "path",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10488,
                          "src": "32508:4:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                            "typeString": "address[] memory"
                          }
                        },
                        "id": 10523,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "32508:11:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 10524,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "32522:1:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "32508:15:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "32499:24:26"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 10531,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "--",
                      "prefix": false,
                      "src": "32532:3:26",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 10530,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10521,
                        "src": "32532:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 10532,
                    "nodeType": "ExpressionStatement",
                    "src": "32532:3:26"
                  },
                  "nodeType": "ForStatement",
                  "src": "32494:207:26"
                }
              ]
            },
            "documentation": null,
            "id": 10566,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getAmountsIn",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10489,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10483,
                  "mutability": "mutable",
                  "name": "factory",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10566,
                  "src": "32205:15:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10482,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "32205:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10485,
                  "mutability": "mutable",
                  "name": "amountOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10566,
                  "src": "32226:14:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10484,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "32226:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10488,
                  "mutability": "mutable",
                  "name": "path",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10566,
                  "src": "32246:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 10486,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "32246:7:26",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 10487,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "32246:9:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "32199:72:26"
            },
            "returnParameters": {
              "id": 10493,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10492,
                  "mutability": "mutable",
                  "name": "amounts",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10566,
                  "src": "32295:21:26",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 10490,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "32295:4:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 10491,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "32295:6:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "32294:23:26"
            },
            "scope": 10567,
            "src": "32178:527:26",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          }
        ],
        "scope": 10726,
        "src": "28383:4324:26"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "library",
        "documentation": null,
        "fullyImplemented": true,
        "id": 10725,
        "linearizedBaseContracts": [
          10725
        ],
        "name": "MockUniswapV2Router02TransferHelper",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": {
              "id": 10609,
              "nodeType": "Block",
              "src": "32953:310:26",
              "statements": [
                {
                  "assignments": [
                    10577,
                    10579
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 10577,
                      "mutability": "mutable",
                      "name": "success",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 10609,
                      "src": "33021:12:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 10576,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "33021:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    },
                    {
                      "constant": false,
                      "id": 10579,
                      "mutability": "mutable",
                      "name": "data",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 10609,
                      "src": "33035:17:26",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 10578,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "33035:5:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 10589,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "30783039356561376233",
                            "id": 10584,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "33090:10:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_157198259_by_1",
                              "typeString": "int_const 157198259"
                            },
                            "value": "0x095ea7b3"
                          },
                          {
                            "argumentTypes": null,
                            "id": 10585,
                            "name": "to",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10571,
                            "src": "33102:2:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 10586,
                            "name": "value",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10573,
                            "src": "33106:5:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_157198259_by_1",
                              "typeString": "int_const 157198259"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 10582,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "33067:3:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 10583,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodeWithSelector",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "33067:22:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes4) pure returns (bytes memory)"
                          }
                        },
                        "id": 10587,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "33067:45:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 10580,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10569,
                        "src": "33056:5:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 10581,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "call",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "33056:10:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                        "typeString": "function (bytes memory) payable returns (bool,bytes memory)"
                      }
                    },
                    "id": 10588,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "33056:57:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                      "typeString": "tuple(bool,bytes memory)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "33020:93:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 10605,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 10591,
                          "name": "success",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10577,
                          "src": "33134:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "id": 10603,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 10595,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 10592,
                                    "name": "data",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 10579,
                                    "src": "33146:4:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  },
                                  "id": 10593,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "length",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "33146:11:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "==",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "30",
                                  "id": 10594,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "33161:1:26",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "src": "33146:16:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "||",
                              "rightExpression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 10598,
                                    "name": "data",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 10579,
                                    "src": "33177:4:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "components": [
                                      {
                                        "argumentTypes": null,
                                        "id": 10600,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "33184:4:26",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_bool_$",
                                          "typeString": "type(bool)"
                                        },
                                        "typeName": {
                                          "id": 10599,
                                          "name": "bool",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "33184:4:26",
                                          "typeDescriptions": {
                                            "typeIdentifier": null,
                                            "typeString": null
                                          }
                                        }
                                      }
                                    ],
                                    "id": 10601,
                                    "isConstant": false,
                                    "isInlineArray": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "TupleExpression",
                                    "src": "33183:6:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_bool_$",
                                      "typeString": "type(bool)"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    },
                                    {
                                      "typeIdentifier": "t_type$_t_bool_$",
                                      "typeString": "type(bool)"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 10596,
                                    "name": "abi",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": -1,
                                    "src": "33166:3:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_abi",
                                      "typeString": "abi"
                                    }
                                  },
                                  "id": 10597,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberName": "decode",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "33166:10:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                                    "typeString": "function () pure"
                                  }
                                },
                                "id": 10602,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "33166:24:26",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "src": "33146:44:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "id": 10604,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "33145:46:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "33134:57:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4d6f636b556e69737761705632526f7574657230325472616e7366657248656c7065723a20415050524f56455f4641494c4544",
                        "id": 10606,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "33199:53:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_cba73e64252d88ef8acabf336af1dc16bb9005946e49ebb463f5fde9c323a6da",
                          "typeString": "literal_string \"MockUniswapV2Router02TransferHelper: APPROVE_FAILED\""
                        },
                        "value": "MockUniswapV2Router02TransferHelper: APPROVE_FAILED"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_cba73e64252d88ef8acabf336af1dc16bb9005946e49ebb463f5fde9c323a6da",
                          "typeString": "literal_string \"MockUniswapV2Router02TransferHelper: APPROVE_FAILED\""
                        }
                      ],
                      "id": 10590,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "33119:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 10607,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "33119:139:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10608,
                  "nodeType": "ExpressionStatement",
                  "src": "33119:139:26"
                }
              ]
            },
            "documentation": null,
            "id": 10610,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "safeApprove",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10574,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10569,
                  "mutability": "mutable",
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10610,
                  "src": "32894:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10568,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "32894:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10571,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10610,
                  "src": "32913:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10570,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "32913:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10573,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10610,
                  "src": "32929:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10572,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "32929:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "32888:55:26"
            },
            "returnParameters": {
              "id": 10575,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "32953:0:26"
            },
            "scope": 10725,
            "src": "32868:395:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 10652,
              "nodeType": "Block",
              "src": "33353:312:26",
              "statements": [
                {
                  "assignments": [
                    10620,
                    10622
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 10620,
                      "mutability": "mutable",
                      "name": "success",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 10652,
                      "src": "33422:12:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 10619,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "33422:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    },
                    {
                      "constant": false,
                      "id": 10622,
                      "mutability": "mutable",
                      "name": "data",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 10652,
                      "src": "33436:17:26",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 10621,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "33436:5:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 10632,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "30786139303539636262",
                            "id": 10627,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "33491:10:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_2835717307_by_1",
                              "typeString": "int_const 2835717307"
                            },
                            "value": "0xa9059cbb"
                          },
                          {
                            "argumentTypes": null,
                            "id": 10628,
                            "name": "to",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10614,
                            "src": "33503:2:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 10629,
                            "name": "value",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10616,
                            "src": "33507:5:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_2835717307_by_1",
                              "typeString": "int_const 2835717307"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 10625,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "33468:3:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 10626,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodeWithSelector",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "33468:22:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes4) pure returns (bytes memory)"
                          }
                        },
                        "id": 10630,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "33468:45:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 10623,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10612,
                        "src": "33457:5:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 10624,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "call",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "33457:10:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                        "typeString": "function (bytes memory) payable returns (bool,bytes memory)"
                      }
                    },
                    "id": 10631,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "33457:57:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                      "typeString": "tuple(bool,bytes memory)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "33421:93:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 10648,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 10634,
                          "name": "success",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10620,
                          "src": "33535:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "id": 10646,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 10638,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 10635,
                                    "name": "data",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 10622,
                                    "src": "33547:4:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  },
                                  "id": 10636,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "length",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "33547:11:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "==",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "30",
                                  "id": 10637,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "33562:1:26",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "src": "33547:16:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "||",
                              "rightExpression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 10641,
                                    "name": "data",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 10622,
                                    "src": "33578:4:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "components": [
                                      {
                                        "argumentTypes": null,
                                        "id": 10643,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "33585:4:26",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_bool_$",
                                          "typeString": "type(bool)"
                                        },
                                        "typeName": {
                                          "id": 10642,
                                          "name": "bool",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "33585:4:26",
                                          "typeDescriptions": {
                                            "typeIdentifier": null,
                                            "typeString": null
                                          }
                                        }
                                      }
                                    ],
                                    "id": 10644,
                                    "isConstant": false,
                                    "isInlineArray": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "TupleExpression",
                                    "src": "33584:6:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_bool_$",
                                      "typeString": "type(bool)"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    },
                                    {
                                      "typeIdentifier": "t_type$_t_bool_$",
                                      "typeString": "type(bool)"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 10639,
                                    "name": "abi",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": -1,
                                    "src": "33567:3:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_abi",
                                      "typeString": "abi"
                                    }
                                  },
                                  "id": 10640,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberName": "decode",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "33567:10:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                                    "typeString": "function () pure"
                                  }
                                },
                                "id": 10645,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "33567:24:26",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "src": "33547:44:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "id": 10647,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "33546:46:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "33535:57:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4d6f636b556e69737761705632526f7574657230325472616e7366657248656c7065723a205452414e534645525f4641494c4544",
                        "id": 10649,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "33600:54:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_1962f1ae00688cd8137a4d7c5bafd721243801aaa5d02d4648210cd1437fecac",
                          "typeString": "literal_string \"MockUniswapV2Router02TransferHelper: TRANSFER_FAILED\""
                        },
                        "value": "MockUniswapV2Router02TransferHelper: TRANSFER_FAILED"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_1962f1ae00688cd8137a4d7c5bafd721243801aaa5d02d4648210cd1437fecac",
                          "typeString": "literal_string \"MockUniswapV2Router02TransferHelper: TRANSFER_FAILED\""
                        }
                      ],
                      "id": 10633,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "33520:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 10650,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "33520:140:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10651,
                  "nodeType": "ExpressionStatement",
                  "src": "33520:140:26"
                }
              ]
            },
            "documentation": null,
            "id": 10653,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "safeTransfer",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10617,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10612,
                  "mutability": "mutable",
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10653,
                  "src": "33294:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10611,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "33294:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10614,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10653,
                  "src": "33313:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10613,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "33313:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10616,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10653,
                  "src": "33329:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10615,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "33329:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "33288:55:26"
            },
            "returnParameters": {
              "id": 10618,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "33353:0:26"
            },
            "scope": 10725,
            "src": "33267:398:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 10698,
              "nodeType": "Block",
              "src": "33777:341:26",
              "statements": [
                {
                  "assignments": [
                    10665,
                    10667
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 10665,
                      "mutability": "mutable",
                      "name": "success",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 10698,
                      "src": "33858:12:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 10664,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "33858:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    },
                    {
                      "constant": false,
                      "id": 10667,
                      "mutability": "mutable",
                      "name": "data",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 10698,
                      "src": "33872:17:26",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 10666,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "33872:5:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 10678,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "30783233623837326464",
                            "id": 10672,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "33933:10:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_599290589_by_1",
                              "typeString": "int_const 599290589"
                            },
                            "value": "0x23b872dd"
                          },
                          {
                            "argumentTypes": null,
                            "id": 10673,
                            "name": "from",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10657,
                            "src": "33945:4:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 10674,
                            "name": "to",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10659,
                            "src": "33951:2:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 10675,
                            "name": "value",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10661,
                            "src": "33955:5:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_599290589_by_1",
                              "typeString": "int_const 599290589"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 10670,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "33910:3:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 10671,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodeWithSelector",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "33910:22:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes4) pure returns (bytes memory)"
                          }
                        },
                        "id": 10676,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "33910:51:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 10668,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10655,
                        "src": "33899:5:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 10669,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "call",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "33899:10:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                        "typeString": "function (bytes memory) payable returns (bool,bytes memory)"
                      }
                    },
                    "id": 10677,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "33899:63:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                      "typeString": "tuple(bool,bytes memory)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "33857:105:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 10694,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 10680,
                          "name": "success",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10665,
                          "src": "33983:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "id": 10692,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 10684,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 10681,
                                    "name": "data",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 10667,
                                    "src": "33995:4:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  },
                                  "id": 10682,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "length",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "33995:11:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "==",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "30",
                                  "id": 10683,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "34010:1:26",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "src": "33995:16:26",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "||",
                              "rightExpression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 10687,
                                    "name": "data",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 10667,
                                    "src": "34026:4:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "components": [
                                      {
                                        "argumentTypes": null,
                                        "id": 10689,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "34033:4:26",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_bool_$",
                                          "typeString": "type(bool)"
                                        },
                                        "typeName": {
                                          "id": 10688,
                                          "name": "bool",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "34033:4:26",
                                          "typeDescriptions": {
                                            "typeIdentifier": null,
                                            "typeString": null
                                          }
                                        }
                                      }
                                    ],
                                    "id": 10690,
                                    "isConstant": false,
                                    "isInlineArray": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "TupleExpression",
                                    "src": "34032:6:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_bool_$",
                                      "typeString": "type(bool)"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    },
                                    {
                                      "typeIdentifier": "t_type$_t_bool_$",
                                      "typeString": "type(bool)"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 10685,
                                    "name": "abi",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": -1,
                                    "src": "34015:3:26",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_abi",
                                      "typeString": "abi"
                                    }
                                  },
                                  "id": 10686,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberName": "decode",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "34015:10:26",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                                    "typeString": "function () pure"
                                  }
                                },
                                "id": 10691,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "34015:24:26",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "src": "33995:44:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "id": 10693,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "33994:46:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "33983:57:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4d6f636b556e69737761705632526f7574657230325472616e7366657248656c7065723a205452414e534645525f46524f4d5f4641494c4544",
                        "id": 10695,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "34048:59:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_9431d31efbfd6cfb1ef3f9f453d04774992c45fc1003dc4e4c20ec1487bbf680",
                          "typeString": "literal_string \"MockUniswapV2Router02TransferHelper: TRANSFER_FROM_FAILED\""
                        },
                        "value": "MockUniswapV2Router02TransferHelper: TRANSFER_FROM_FAILED"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_9431d31efbfd6cfb1ef3f9f453d04774992c45fc1003dc4e4c20ec1487bbf680",
                          "typeString": "literal_string \"MockUniswapV2Router02TransferHelper: TRANSFER_FROM_FAILED\""
                        }
                      ],
                      "id": 10679,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "33968:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 10696,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "33968:145:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10697,
                  "nodeType": "ExpressionStatement",
                  "src": "33968:145:26"
                }
              ]
            },
            "documentation": null,
            "id": 10699,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "safeTransferFrom",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10662,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10655,
                  "mutability": "mutable",
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10699,
                  "src": "33700:13:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10654,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "33700:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10657,
                  "mutability": "mutable",
                  "name": "from",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10699,
                  "src": "33719:12:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10656,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "33719:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10659,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10699,
                  "src": "33737:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10658,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "33737:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10661,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10699,
                  "src": "33753:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10660,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "33753:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "33694:73:26"
            },
            "returnParameters": {
              "id": 10663,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "33777:0:26"
            },
            "scope": 10725,
            "src": "33669:449:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 10723,
              "nodeType": "Block",
              "src": "34180:147:26",
              "statements": [
                {
                  "assignments": [
                    10707,
                    null
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 10707,
                      "mutability": "mutable",
                      "name": "success",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 10723,
                      "src": "34187:12:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 10706,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "34187:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    },
                    null
                  ],
                  "id": 10717,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 10714,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "34237:1:26",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            }
                          ],
                          "id": 10713,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "NewExpression",
                          "src": "34227:9:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (uint256) pure returns (bytes memory)"
                          },
                          "typeName": {
                            "id": 10712,
                            "name": "bytes",
                            "nodeType": "ElementaryTypeName",
                            "src": "34231:5:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_storage_ptr",
                              "typeString": "bytes"
                            }
                          }
                        },
                        "id": 10715,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "34227:12:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 10708,
                          "name": "to",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10701,
                          "src": "34205:2:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 10709,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "call",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "34205:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                          "typeString": "function (bytes memory) payable returns (bool,bytes memory)"
                        }
                      },
                      "id": 10711,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "names": [
                        "value"
                      ],
                      "nodeType": "FunctionCallOptions",
                      "options": [
                        {
                          "argumentTypes": null,
                          "id": 10710,
                          "name": "value",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10703,
                          "src": "34220:5:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "src": "34205:21:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value",
                        "typeString": "function (bytes memory) payable returns (bool,bytes memory)"
                      }
                    },
                    "id": 10716,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "34205:35:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                      "typeString": "tuple(bool,bytes memory)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "34186:54:26"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 10719,
                        "name": "success",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10707,
                        "src": "34254:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4d6f636b556e69737761705632526f7574657230325472616e7366657248656c7065723a204554485f5452414e534645525f4641494c4544",
                        "id": 10720,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "34263:58:26",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_34802130a218e961c82951ab97618804eb7187d31f0feadc13ca090f11379fe2",
                          "typeString": "literal_string \"MockUniswapV2Router02TransferHelper: ETH_TRANSFER_FAILED\""
                        },
                        "value": "MockUniswapV2Router02TransferHelper: ETH_TRANSFER_FAILED"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_34802130a218e961c82951ab97618804eb7187d31f0feadc13ca090f11379fe2",
                          "typeString": "literal_string \"MockUniswapV2Router02TransferHelper: ETH_TRANSFER_FAILED\""
                        }
                      ],
                      "id": 10718,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "34246:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 10721,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "34246:76:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10722,
                  "nodeType": "ExpressionStatement",
                  "src": "34246:76:26"
                }
              ]
            },
            "documentation": null,
            "id": 10724,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "safeTransferETH",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10704,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10701,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10724,
                  "src": "34147:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10700,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "34147:7:26",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10703,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10724,
                  "src": "34159:10:26",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10702,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "34159:4:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "34146:24:26"
            },
            "returnParameters": {
              "id": 10705,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "34180:0:26"
            },
            "scope": 10725,
            "src": "34122:205:26",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "internal"
          }
        ],
        "scope": 10726,
        "src": "32820:1509:26"
      }
    ],
    "src": "0:34330:26"
  },
  "bytecode": "60c060405234801561001057600080fd5b5060405162004790380380620047908339818101604052604081101561003557600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c61460b620001856000398061015f5280610ce45280610d1f5280610e16528061103452806113be528061152452806118d352806119ae5280611a885280611b565280611c9c5280611d245280611f605280611fdb528061208f528061215b52806121f05280612264528061274752806129b15280612a075280612a3b5280612aaf5280612c3d5280612d805280612e08525080610ea45280610f7b52806110fa5280611133528061126e528061144c528061150252806116725280611be95280611d565280611eb0528061229652806124d452806126cc52806126f55280612725528061289252806129e55280612cd05280612e3a528061366852806136ab528061396f5280613ae55280613ec05280613f79528061402c525061460b6000f3fe60806040526004361061014f5760003560e01c80638803dbee116100b6578063c45a01551161006f578063c45a015514610a10578063d06ca61f14610a25578063ded9382a14610ada578063e8e3370014610b4d578063f305d71914610bcd578063fb3bdb4114610c1357610188565b80638803dbee146107df578063ad5c464814610875578063ad615dec146108a6578063af2979eb146108dc578063b6f9de951461092f578063baa2abde146109b357610188565b80634a25d94a116101085780634a25d94a146104f05780635b0d5984146105865780635c11d795146105f9578063791ac9471461068f5780637ff36ab51461072557806385f8c259146107a957610188565b806302751cec1461018d578063054d50d4146101f957806318cbafe5146102415780631f00ca74146103275780632195995c146103dc57806338ed17391461045a57610188565b3661018857336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461018657fe5b005b600080fd5b34801561019957600080fd5b506101e0600480360360c08110156101b057600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a00135610c97565b6040805192835260208301919091528051918290030190f35b34801561020557600080fd5b5061022f6004803603606081101561021c57600080fd5b5080359060208101359060400135610db1565b60408051918252519081900360200190f35b34801561024d57600080fd5b506102d7600480360360a081101561026457600080fd5b813591602081013591810190606081016040820135600160201b81111561028a57600080fd5b82018360208201111561029c57600080fd5b803590602001918460208302840111600160201b831117156102bd57600080fd5b91935091506001600160a01b038135169060200135610dc6565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103135781810151838201526020016102fb565b505050509050019250505060405180910390f35b34801561033357600080fd5b506102d76004803603604081101561034a57600080fd5b81359190810190604081016020820135600160201b81111561036b57600080fd5b82018360208201111561037d57600080fd5b803590602001918460208302840111600160201b8311171561039e57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506110f3945050505050565b3480156103e857600080fd5b506101e0600480360361016081101561040057600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c08101359060e081013515159060ff6101008201351690610120810135906101400135611129565b34801561046657600080fd5b506102d7600480360360a081101561047d57600080fd5b813591602081013591810190606081016040820135600160201b8111156104a357600080fd5b8201836020820111156104b557600080fd5b803590602001918460208302840111600160201b831117156104d657600080fd5b91935091506001600160a01b038135169060200135611223565b3480156104fc57600080fd5b506102d7600480360360a081101561051357600080fd5b813591602081013591810190606081016040820135600160201b81111561053957600080fd5b82018360208201111561054b57600080fd5b803590602001918460208302840111600160201b8311171561056c57600080fd5b91935091506001600160a01b03813516906020013561136e565b34801561059257600080fd5b5061022f60048036036101408110156105aa57600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e082013516906101008101359061012001356114fa565b34801561060557600080fd5b50610186600480360360a081101561061c57600080fd5b813591602081013591810190606081016040820135600160201b81111561064257600080fd5b82018360208201111561065457600080fd5b803590602001918460208302840111600160201b8311171561067557600080fd5b91935091506001600160a01b038135169060200135611608565b34801561069b57600080fd5b50610186600480360360a08110156106b257600080fd5b813591602081013591810190606081016040820135600160201b8111156106d857600080fd5b8201836020820111156106ea57600080fd5b803590602001918460208302840111600160201b8311171561070b57600080fd5b91935091506001600160a01b038135169060200135611885565b6102d76004803603608081101561073b57600080fd5b81359190810190604081016020820135600160201b81111561075c57600080fd5b82018360208201111561076e57600080fd5b803590602001918460208302840111600160201b8311171561078f57600080fd5b91935091506001600160a01b038135169060200135611b0e565b3480156107b557600080fd5b5061022f600480360360608110156107cc57600080fd5b5080359060208101359060400135611e58565b3480156107eb57600080fd5b506102d7600480360360a081101561080257600080fd5b813591602081013591810190606081016040820135600160201b81111561082857600080fd5b82018360208201111561083a57600080fd5b803590602001918460208302840111600160201b8311171561085b57600080fd5b91935091506001600160a01b038135169060200135611e65565b34801561088157600080fd5b5061088a611f5e565b604080516001600160a01b039092168252519081900360200190f35b3480156108b257600080fd5b5061022f600480360360608110156108c957600080fd5b5080359060208101359060400135611f82565b3480156108e857600080fd5b5061022f600480360360c08110156108ff57600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a00135611f8f565b6101866004803603608081101561094557600080fd5b81359190810190604081016020820135600160201b81111561096657600080fd5b82018360208201111561097857600080fd5b803590602001918460208302840111600160201b8311171561099957600080fd5b91935091506001600160a01b038135169060200135612115565b3480156109bf57600080fd5b506101e0600480360360e08110156109d657600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c00135612486565b348015610a1c57600080fd5b5061088a6126ca565b348015610a3157600080fd5b506102d760048036036040811015610a4857600080fd5b81359190810190604081016020820135600160201b811115610a6957600080fd5b820183602082011115610a7b57600080fd5b803590602001918460208302840111600160201b83111715610a9c57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506126ee945050505050565b348015610ae657600080fd5b506101e06004803603610140811015610afe57600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e0820135169061010081013590610120013561271b565b348015610b5957600080fd5b50610baf6004803603610100811015610b7157600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359160c0820135169060e0013561282f565b60408051938452602084019290925282820152519081900360600190f35b610baf600480360360c0811015610be357600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a00135612962565b6102d760048036036080811015610c2957600080fd5b81359190810190604081016020820135600160201b811115610c4a57600080fd5b820183602082011115610c5c57600080fd5b803590602001918460208302840111600160201b83111715610c7d57600080fd5b91935091506001600160a01b038135169060200135612bf5565b6000808242811015610cde576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b610d0d897f00000000000000000000000000000000000000000000000000000000000000008a8a8a308a612486565b9093509150610d1d898685612f6e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610d8357600080fd5b505af1158015610d97573d6000803e3d6000fd5b50505050610da585836130c2565b50965096945050505050565b6000610dbe8484846131ba565b949350505050565b60608142811015610e0c576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001686866000198101818110610e4657fe5b905060200201356001600160a01b03166001600160a01b031614610e9f576040805162461bcd60e51b815260206004820152601d6024820152600080516020614464833981519152604482015290519081900360640190fd5b610efd7f00000000000000000000000000000000000000000000000000000000000000008988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061329292505050565b91508682600184510381518110610f1057fe5b60200260200101511015610f555760405162461bcd60e51b815260040180806020018281038252602b815260200180614551602b913960400191505060405180910390fd5b610ff386866000818110610f6557fe5b905060200201356001600160a01b031633610fd97f00000000000000000000000000000000000000000000000000000000000000008a8a6000818110610fa757fe5b905060200201356001600160a01b03168b8b6001818110610fc457fe5b905060200201356001600160a01b03166133c8565b85600081518110610fe657fe5b602002602001015161345c565b611032828787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152503092506135b9915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d8360018551038151811061107157fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156110af57600080fd5b505af11580156110c3573d6000803e3d6000fd5b505050506110e884836001855103815181106110db57fe5b60200260200101516130c2565b509695505050505050565b60606111207f000000000000000000000000000000000000000000000000000000000000000084846137f6565b90505b92915050565b60008060006111597f00000000000000000000000000000000000000000000000000000000000000008f8f6133c8565b9050600087611168578c61116c565b6000195b6040805163d505accf60e01b815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c4810188905290519192506001600160a01b0384169163d505accf9160e48082019260009290919082900301818387803b1580156111e257600080fd5b505af11580156111f6573d6000803e3d6000fd5b505050506112098f8f8f8f8f8f8f612486565b809450819550505050509b509b9950505050505050505050565b60608142811015611269576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b6112c77f00000000000000000000000000000000000000000000000000000000000000008988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061329292505050565b915086826001845103815181106112da57fe5b6020026020010151101561131f5760405162461bcd60e51b815260040180806020018281038252602b815260200180614551602b913960400191505060405180910390fd5b61132f86866000818110610f6557fe5b6110e8828787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508992506135b9915050565b606081428110156113b4576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016868660001981018181106113ee57fe5b905060200201356001600160a01b03166001600160a01b031614611447576040805162461bcd60e51b815260206004820152601d6024820152600080516020614464833981519152604482015290519081900360640190fd5b6114a57f0000000000000000000000000000000000000000000000000000000000000000898888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506137f692505050565b915086826000815181106114b557fe5b60200260200101511115610f555760405162461bcd60e51b815260040180806020018281038252602781526020018061443d6027913960400191505060405180910390fd5b6000806115487f00000000000000000000000000000000000000000000000000000000000000008d7f00000000000000000000000000000000000000000000000000000000000000006133c8565b9050600086611557578b61155b565b6000195b6040805163d505accf60e01b815233600482015230602482015260448101839052606481018b905260ff8916608482015260a4810188905260c4810187905290519192506001600160a01b0384169163d505accf9160e48082019260009290919082900301818387803b1580156115d157600080fd5b505af11580156115e5573d6000803e3d6000fd5b505050506115f78d8d8d8d8d8d611f8f565b9d9c50505050505050505050505050565b804281101561164c576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b6116c18585600081811061165c57fe5b905060200201356001600160a01b0316336116bb7f00000000000000000000000000000000000000000000000000000000000000008989600081811061169e57fe5b905060200201356001600160a01b03168a8a6001818110610fc457fe5b8a61345c565b6000858560001981018181106116d357fe5b905060200201356001600160a01b03166001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561172f57600080fd5b505afa158015611743573d6000803e3d6000fd5b505050506040513d602081101561175957600080fd5b5051604080516020888102828101820190935288825292935061179b929091899189918291850190849080828437600092019190915250889250613918915050565b8661183e82888860001981018181106117b057fe5b905060200201356001600160a01b03166001600160a01b03166370a08231886040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561180c57600080fd5b505afa158015611820573d6000803e3d6000fd5b505050506040513d602081101561183657600080fd5b505190613c1a565b101561187b5760405162461bcd60e51b815260040180806020018281038252602b815260200180614551602b913960400191505060405180910390fd5b5050505050505050565b80428110156118c9576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168585600019810181811061190357fe5b905060200201356001600160a01b03166001600160a01b03161461195c576040805162461bcd60e51b815260206004820152601d6024820152600080516020614464833981519152604482015290519081900360640190fd5b61196c8585600081811061165c57fe5b6119aa858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250309250613918915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611a1957600080fd5b505afa158015611a2d573d6000803e3d6000fd5b505050506040513d6020811015611a4357600080fd5b5051905086811015611a865760405162461bcd60e51b815260040180806020018281038252602b815260200180614551602b913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611aec57600080fd5b505af1158015611b00573d6000803e3d6000fd5b5050505061187b84826130c2565b60608142811015611b54576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031686866000818110611b8b57fe5b905060200201356001600160a01b03166001600160a01b031614611be4576040805162461bcd60e51b815260206004820152601d6024820152600080516020614464833981519152604482015290519081900360640190fd5b611c427f00000000000000000000000000000000000000000000000000000000000000003488888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061329292505050565b91508682600184510381518110611c5557fe5b60200260200101511015611c9a5760405162461bcd60e51b815260040180806020018281038252602b815260200180614551602b913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db083600081518110611cd657fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b158015611d0957600080fd5b505af1158015611d1d573d6000803e3d6000fd5b50505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb611d827f00000000000000000000000000000000000000000000000000000000000000008989600081811061169e57fe5b84600081518110611d8f57fe5b60200260200101516040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015611ddd57600080fd5b505af1158015611df1573d6000803e3d6000fd5b505050506040513d6020811015611e0757600080fd5b5051611e0f57fe5b611e4e828787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508992506135b9915050565b5095945050505050565b6000610dbe848484613c6a565b60608142811015611eab576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b611f097f0000000000000000000000000000000000000000000000000000000000000000898888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506137f692505050565b91508682600081518110611f1957fe5b6020026020010151111561131f5760405162461bcd60e51b815260040180806020018281038252602781526020018061443d6027913960400191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610dbe848484613d42565b60008142811015611fd5576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b612004887f00000000000000000000000000000000000000000000000000000000000000008989893089612486565b90508092505061208d88858a6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561205c57600080fd5b505afa158015612070573d6000803e3d6000fd5b505050506040513d602081101561208657600080fd5b5051612f6e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156120f357600080fd5b505af1158015612107573d6000803e3d6000fd5b505050506110e884836130c2565b8042811015612159576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585600081811061219057fe5b905060200201356001600160a01b03166001600160a01b0316146121e9576040805162461bcd60e51b815260206004820152601d6024820152600080516020614464833981519152604482015290519081900360640190fd5b60003490507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561224957600080fd5b505af115801561225d573d6000803e3d6000fd5b50505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb6122c27f00000000000000000000000000000000000000000000000000000000000000008989600081811061169e57fe5b836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561230957600080fd5b505af115801561231d573d6000803e3d6000fd5b505050506040513d602081101561233357600080fd5b505161233b57fe5b60008686600019810181811061234d57fe5b905060200201356001600160a01b03166001600160a01b03166370a08231866040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156123a957600080fd5b505afa1580156123bd573d6000803e3d6000fd5b505050506040513d60208110156123d357600080fd5b505160408051602089810282810182019093528982529293506124159290918a918a918291850190849080828437600092019190915250899250613918915050565b8761183e828989600019810181811061242a57fe5b905060200201356001600160a01b03166001600160a01b03166370a08231896040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561180c57600080fd5b60008082428110156124cd576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b60006124fa7f00000000000000000000000000000000000000000000000000000000000000008c8c6133c8565b604080516323b872dd60e01b81523360048201526001600160a01b03831660248201819052604482018d9052915192935090916323b872dd916064808201926020929091908290030181600087803b15801561255557600080fd5b505af1158015612569573d6000803e3d6000fd5b505050506040513d602081101561257f57600080fd5b50506040805163226bf2d160e21b81526001600160a01b03888116600483015282516000938493928616926389afcb44926024808301939282900301818787803b1580156125cc57600080fd5b505af11580156125e0573d6000803e3d6000fd5b505050506040513d60408110156125f657600080fd5b508051602090910151909250905060006126108e8e613de8565b509050806001600160a01b03168e6001600160a01b031614612633578183612636565b82825b90975095508a87101561267a5760405162461bcd60e51b815260040180806020018281038252602681526020018061452b6026913960400191505060405180910390fd5b898610156126b95760405162461bcd60e51b81526004018080602001828103825260268152602001806143676026913960400191505060405180910390fd5b505050505097509795505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60606111207f00000000000000000000000000000000000000000000000000000000000000008484613292565b600080600061276b7f00000000000000000000000000000000000000000000000000000000000000008e7f00000000000000000000000000000000000000000000000000000000000000006133c8565b905060008761277a578c61277e565b6000195b6040805163d505accf60e01b815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c4810188905290519192506001600160a01b0384169163d505accf9160e48082019260009290919082900301818387803b1580156127f457600080fd5b505af1158015612808573d6000803e3d6000fd5b5050505061281a8e8e8e8e8e8e610c97565b909f909e509c50505050505050505050505050565b60008060008342811015612878576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b6128868c8c8c8c8c8c613eb0565b909450925060006128b87f00000000000000000000000000000000000000000000000000000000000000008e8e6133c8565b90506128c68d33838861345c565b6128d28c33838761345c565b806001600160a01b0316636a627842886040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b15801561292157600080fd5b505af1158015612935573d6000803e3d6000fd5b505050506040513d602081101561294b57600080fd5b5051949d939c50939a509198505050505050505050565b600080600083428110156129ab576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b6129d98a7f00000000000000000000000000000000000000000000000000000000000000008b348c8c613eb0565b90945092506000612a2b7f00000000000000000000000000000000000000000000000000000000000000008c7f00000000000000000000000000000000000000000000000000000000000000006133c8565b9050612a398b33838861345c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b158015612a9457600080fd5b505af1158015612aa8573d6000803e3d6000fd5b50505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb82866040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612b2457600080fd5b505af1158015612b38573d6000803e3d6000fd5b505050506040513d6020811015612b4e57600080fd5b5051612b5657fe5b806001600160a01b0316636a627842886040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b158015612ba557600080fd5b505af1158015612bb9573d6000803e3d6000fd5b505050506040513d6020811015612bcf57600080fd5b5051925034841015612be757612be7338534036130c2565b505096509650969350505050565b60608142811015612c3b576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031686866000818110612c7257fe5b905060200201356001600160a01b03166001600160a01b031614612ccb576040805162461bcd60e51b815260206004820152601d6024820152600080516020614464833981519152604482015290519081900360640190fd5b612d297f0000000000000000000000000000000000000000000000000000000000000000888888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506137f692505050565b91503482600081518110612d3957fe5b60200260200101511115612d7e5760405162461bcd60e51b815260040180806020018281038252602781526020018061443d6027913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db083600081518110612dba57fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b158015612ded57600080fd5b505af1158015612e01573d6000803e3d6000fd5b50505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb612e667f00000000000000000000000000000000000000000000000000000000000000008989600081811061169e57fe5b84600081518110612e7357fe5b60200260200101516040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612ec157600080fd5b505af1158015612ed5573d6000803e3d6000fd5b505050506040513d6020811015612eeb57600080fd5b5051612ef357fe5b612f32828787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508992506135b9915050565b81600081518110612f3f57fe5b6020026020010151341115611e4e57611e4e3383600081518110612f5f57fe5b602002602001015134036130c2565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000946060949389169392918291908083835b60208310612feb5780518252601f199092019160209182019101612fcc565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461304d576040519150601f19603f3d011682016040523d82523d6000602084013e613052565b606091505b5091509150818015613080575080511580613080575080806020019051602081101561307d57600080fd5b50515b6130bb5760405162461bcd60e51b81526004018080602001828103825260348152602001806142bb6034913960400191505060405180910390fd5b5050505050565b604080516000808252602082019092526001600160a01b0384169083906040518082805190602001908083835b6020831061310e5780518252601f1990920191602091820191016130ef565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613170576040519150601f19603f3d011682016040523d82523d6000602084013e613175565b606091505b50509050806131b55760405162461bcd60e51b815260040180806020018281038252603881526020018061432f6038913960400191505060405180910390fd5b505050565b60008084116131fa5760405162461bcd60e51b81526004018080602001828103825260408152602001806142ef6040913960400191505060405180910390fd5b60008311801561320a5750600082115b6132455760405162461bcd60e51b815260040180806020018281038252603d8152602001806143c7603d913960400191505060405180910390fd5b6000613253856103e5614141565b905060006132618285614141565b9050600061327b83613275886103e8614141565b906141a4565b905080828161328657fe5b04979650505050505050565b60606002825110156132d55760405162461bcd60e51b81526004018080602001828103825260338152602001806144846033913960400191505060405180910390fd5b815167ffffffffffffffff811180156132ed57600080fd5b50604051908082528060200260200182016040528015613317578160200160208202803683370190505b509050828160008151811061332857fe5b60200260200101818152505060005b60018351038110156133c05760008061337a8786858151811061335657fe5b602002602001015187866001018151811061336d57fe5b60200260200101516141f3565b9150915061339c84848151811061338d57fe5b602002602001015183836131ba565b8484600101815181106133ab57fe5b60209081029190910101525050600101613337565b509392505050565b6000836001600160a01b031663e6a4390584846040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b15801561342857600080fd5b505afa15801561343c573d6000803e3d6000fd5b505050506040513d602081101561345257600080fd5b5051949350505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17815292518251600094606094938a169392918291908083835b602083106134e15780518252601f1990920191602091820191016134c2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613543576040519150601f19603f3d011682016040523d82523d6000602084013e613548565b606091505b5091509150818015613576575080511580613576575080806020019051602081101561357357600080fd5b50515b6135b15760405162461bcd60e51b81526004018080602001828103825260398152602001806144046039913960400191505060405180910390fd5b505050505050565b60005b60018351038110156137f0576000808483815181106135d757fe5b60200260200101518584600101815181106135ee57fe5b60200260200101519150915060006136068383613de8565b509050600087856001018151811061361a57fe5b60200260200101519050600080836001600160a01b0316866001600160a01b0316146136485782600061364c565b6000835b91509150600060028a5103881061366357886136a4565b6136a47f0000000000000000000000000000000000000000000000000000000000000000878c8b6002018151811061369757fe5b60200260200101516133c8565b90506136d17f000000000000000000000000000000000000000000000000000000000000000088886133c8565b6001600160a01b031663022c0d9f84848460006040519080825280601f01601f19166020018201604052801561370e576020820181803683370190505b506040518563ffffffff1660e01b815260040180858152602001848152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561377657818101518382015260200161375e565b50505050905090810190601f1680156137a35780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156137c557600080fd5b505af11580156137d9573d6000803e3d6000fd5b5050600190990198506135bc975050505050505050565b50505050565b60606002825110156138395760405162461bcd60e51b81526004018080602001828103825260338152602001806144846033913960400191505060405180910390fd5b815167ffffffffffffffff8111801561385157600080fd5b5060405190808252806020026020018201604052801561387b578160200160208202803683370190505b509050828160018351038151811061388f57fe5b60209081029190910101528151600019015b80156133c0576000806138d1878660018603815181106138bd57fe5b602002602001015187868151811061336d57fe5b915091506138f38484815181106138e457fe5b60200260200101518383613c6a565b84600185038151811061390257fe5b60209081029190910101525050600019016138a1565b60005b60018351038110156131b55760008084838151811061393657fe5b602002602001015185846001018151811061394d57fe5b60200260200101519150915060006139658383613de8565b50905060006139957f000000000000000000000000000000000000000000000000000000000000000085856133c8565b9050600080600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156139d657600080fd5b505afa1580156139ea573d6000803e3d6000fd5b505050506040513d6060811015613a0057600080fd5b5080516020909101516001600160701b0391821693501690506000806001600160a01b038a811690891614613a36578284613a39565b83835b91509150613a8e828b6001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561180c57600080fd5b9550613a9b8683836131ba565b945050505050600080856001600160a01b0316886001600160a01b031614613ac557826000613ac9565b6000835b91509150600060028c51038a10613ae0578a613b14565b613b147f0000000000000000000000000000000000000000000000000000000000000000898e8d6002018151811061369757fe5b604080516000808252602082019283905263022c0d9f60e01b835260248201878152604483018790526001600160a01b038086166064850152608060848501908152845160a48601819052969750908c169563022c0d9f958a958a958a9591949193919260c486019290918190849084905b83811015613b9e578181015183820152602001613b86565b50505050905090810190601f168015613bcb5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015613bed57600080fd5b505af1158015613c01573d6000803e3d6000fd5b50506001909b019a5061391b9950505050505050505050565b80820382811115611123576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6000808411613caa5760405162461bcd60e51b81526004018080602001828103825260418152602001806144ea6041913960600191505060405180910390fd5b600083118015613cba5750600082115b613cf55760405162461bcd60e51b815260040180806020018281038252603d8152602001806143c7603d913960400191505060405180910390fd5b6000613d0d6103e8613d078688614141565b90614141565b90506000613d216103e5613d078689613c1a565b9050613d386001828481613d3157fe5b04906141a4565b9695505050505050565b6000808411613d825760405162461bcd60e51b815260040180806020018281038252603a81526020018061438d603a913960400191505060405180910390fd5b600083118015613d925750600082115b613dcd5760405162461bcd60e51b815260040180806020018281038252603d8152602001806143c7603d913960400191505060405180910390fd5b82613dd88584614141565b81613ddf57fe5b04949350505050565b600080826001600160a01b0316846001600160a01b03161415613e3c5760405162461bcd60e51b815260040180806020018281038252603a81526020018061457c603a913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b031610613e5c578284613e5f565b83835b90925090506001600160a01b038216613ea95760405162461bcd60e51b81526004018080602001828103825260338152602001806144b76033913960400191505060405180910390fd5b9250929050565b60008060006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e6a439058a8a6040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b158015613f3c57600080fd5b505afa158015613f50573d6000803e3d6000fd5b505050506040513d6020811015613f6657600080fd5b50516001600160a01b03161415614024577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c9c6539689896040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b158015613ff757600080fd5b505af115801561400b573d6000803e3d6000fd5b505050506040513d602081101561402157600080fd5b50505b6000806140527f00000000000000000000000000000000000000000000000000000000000000008b8b6141f3565b91509150816000148015614064575080155b1561407457879350869250614134565b6000614081898484613d42565b90508781116140d457858110156140c95760405162461bcd60e51b81526004018080602001828103825260268152602001806143676026913960400191505060405180910390fd5b889450925082614132565b60006140e1898486613d42565b9050898111156140ed57fe5b8781101561412c5760405162461bcd60e51b815260040180806020018281038252602681526020018061452b6026913960400191505060405180910390fd5b94508793505b505b5050965096945050505050565b600081158061415c5750508082028282828161415957fe5b04145b611123576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b80820182811015611123576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fd5b60008060006142028585613de8565b5090506000806142138888886133c8565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561424b57600080fd5b505afa15801561425f573d6000803e3d6000fd5b505050506040513d606081101561427557600080fd5b5080516020909101516001600160701b0391821693501690506001600160a01b03878116908416146142a85780826142ab565b81815b9099909850965050505050505056fe4d6f636b556e69737761705632526f7574657230325472616e7366657248656c7065723a205452414e534645525f4641494c45444d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e544d6f636b556e69737761705632526f7574657230325472616e7366657248656c7065723a204554485f5452414e534645525f4641494c4544556e69737761705632526f757465723a20494e53554646494349454e545f425f414d4f554e544d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e544d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a20494e53554646494349454e545f4c49515549444954594d6f636b556e69737761705632526f7574657230325472616e7366657248656c7065723a205452414e534645525f46524f4d5f4641494c4544556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54556e69737761705632526f757465723a20494e56414c49445f504154480000004d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a20494e56414c49445f504154484d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a205a45524f5f414444524553534d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e54556e69737761705632526f757465723a20494e53554646494349454e545f415f414d4f554e54556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e544d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553556e69737761705632526f757465723a20455850495245440000000000000000a26469706673582212201190f225bbe6bdb7f8857b827bee1ce90bb665b4192db0affb104f6b6e3cff0864736f6c634300060c0033",
  "bytecodeSha1": "cc32bf247c96919f9dfb270640566e268f52fb92",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.6.12+commit.27d51765"
  },
  "contractName": "MockUniswapV2Router02",
  "coverageMap": {
    "branches": {
      "26": {
        "MockUniswapV2Router02._addLiquidity": {
          "170": [
            9566,
            9651,
            false
          ],
          "171": [
            9870,
            9883,
            false
          ],
          "172": [
            9887,
            9900,
            false
          ],
          "173": [
            10105,
            10137,
            false
          ],
          "174": [
            10157,
            10185,
            true
          ],
          "175": [
            10495,
            10523,
            true
          ]
        },
        "MockUniswapV2Router02._swap": {
          "154": [
            17620,
            17635,
            true
          ],
          "155": [
            17710,
            17729,
            true
          ]
        },
        "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens": {
          "157": [
            23620,
            23635,
            true
          ],
          "158": [
            23979,
            23994,
            true
          ],
          "159": [
            24075,
            24094,
            true
          ]
        },
        "MockUniswapV2Router02.addLiquidityETH": {
          "138": [
            12408,
            12429,
            false
          ]
        },
        "MockUniswapV2Router02.removeLiquidity": {
          "134": [
            13219,
            13235,
            true
          ],
          "135": [
            13291,
            13312,
            true
          ],
          "136": [
            13369,
            13390,
            true
          ]
        },
        "MockUniswapV2Router02.removeLiquidityETHWithPermit": {
          "137": [
            15241,
            15251,
            true
          ]
        },
        "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens": {
          "126": [
            16757,
            16767,
            true
          ]
        },
        "MockUniswapV2Router02.removeLiquidityWithPermit": {
          "122": [
            14485,
            14495,
            true
          ]
        },
        "MockUniswapV2Router02.swapETHForExactTokens": {
          "139": [
            8969,
            8996,
            true
          ],
          "140": [
            22111,
            22126,
            true
          ],
          "141": [
            22266,
            22289,
            true
          ],
          "142": [
            22648,
            22670,
            false
          ]
        },
        "MockUniswapV2Router02.swapExactETHForTokens": {
          "130": [
            19549,
            19564,
            true
          ],
          "131": [
            19712,
            19755,
            true
          ]
        },
        "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens": {
          "133": [
            25184,
            25199,
            true
          ]
        },
        "MockUniswapV2Router02.swapExactTokensForETH": {
          "120": [
            21206,
            21235,
            true
          ],
          "121": [
            21382,
            21425,
            true
          ]
        },
        "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens": {
          "128": [
            26018,
            26047,
            true
          ],
          "129": [
            26409,
            26434,
            true
          ]
        },
        "MockUniswapV2Router02.swapExactTokensForTokens": {
          "123": [
            18366,
            18409,
            true
          ]
        },
        "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens": {
          "127": [
            24822,
            24900,
            true
          ]
        },
        "MockUniswapV2Router02.swapTokensForExactETH": {
          "124": [
            20327,
            20356,
            true
          ],
          "125": [
            20496,
            20521,
            true
          ]
        },
        "MockUniswapV2Router02.swapTokensForExactTokens": {
          "132": [
            19027,
            19052,
            true
          ]
        },
        "MockUniswapV2Router02SafeMath.add": {
          "178": [
            28070,
            28086,
            true
          ]
        },
        "MockUniswapV2Router02SafeMath.mul": {
          "176": [
            28319,
            28325,
            true
          ],
          "177": [
            28329,
            28349,
            true
          ]
        },
        "MockUniswapV2Router02SafeMath.sub": {
          "160": [
            28194,
            28210,
            true
          ]
        },
        "MockUniswapV2Router02TransferHelper.safeTransfer": {
          "143": [
            33535,
            33542,
            false
          ],
          "144": [
            33547,
            33563,
            true
          ],
          "145": [
            33567,
            33591,
            true
          ]
        },
        "MockUniswapV2Router02TransferHelper.safeTransferETH": {
          "146": [
            34254,
            34261,
            true
          ]
        },
        "MockUniswapV2Router02TransferHelper.safeTransferFrom": {
          "151": [
            33983,
            33990,
            false
          ],
          "152": [
            33995,
            34011,
            true
          ],
          "153": [
            34015,
            34039,
            true
          ]
        },
        "MockUniswapV2Router02UniswapV2Library.getAmountIn": {
          "161": [
            31141,
            31154,
            true
          ],
          "162": [
            31245,
            31258,
            false
          ],
          "163": [
            31262,
            31276,
            true
          ]
        },
        "MockUniswapV2Router02UniswapV2Library.getAmountOut": {
          "147": [
            30468,
            30480,
            true
          ],
          "148": [
            30570,
            30583,
            false
          ],
          "149": [
            30587,
            30601,
            true
          ]
        },
        "MockUniswapV2Router02UniswapV2Library.getAmountsIn": {
          "156": [
            32332,
            32348,
            true
          ]
        },
        "MockUniswapV2Router02UniswapV2Library.getAmountsOut": {
          "150": [
            31752,
            31768,
            true
          ]
        },
        "MockUniswapV2Router02UniswapV2Library.getReserves": {
          "179": [
            29662,
            29678,
            true
          ]
        },
        "MockUniswapV2Router02UniswapV2Library.quote": {
          "164": [
            29961,
            29972,
            true
          ],
          "165": [
            30056,
            30068,
            false
          ],
          "166": [
            30072,
            30084,
            true
          ]
        },
        "MockUniswapV2Router02UniswapV2Library.sortTokens": {
          "167": [
            28715,
            28731,
            true
          ],
          "168": [
            28819,
            28834,
            true
          ],
          "169": [
            28886,
            28906,
            true
          ]
        }
      }
    },
    "statements": {
      "26": {
        "MockUniswapV2Router02.<receive>": {
          "0": [
            9177,
            9203
          ]
        },
        "MockUniswapV2Router02._addLiquidity": {
          "110": [
            9661,
            9735
          ],
          "111": [
            9910,
            9963
          ],
          "112": [
            10149,
            10228
          ],
          "113": [
            10238,
            10291
          ],
          "114": [
            10437,
            10477
          ],
          "115": [
            10487,
            10566
          ],
          "116": [
            10576,
            10629
          ]
        },
        "MockUniswapV2Router02._swap": {
          "89": [
            17841,
            18019
          ],
          "90": [
            17367,
            17370
          ]
        },
        "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens": {
          "96": [
            23691,
            23761
          ],
          "97": [
            23771,
            23918
          ],
          "98": [
            24206,
            24257
          ],
          "99": [
            23044,
            23047
          ]
        },
        "MockUniswapV2Router02.addLiquidity": {
          "60": [
            10993,
            11141
          ],
          "61": [
            11238,
            11325
          ],
          "62": [
            11331,
            11418
          ],
          "63": [
            11424,
            11486
          ]
        },
        "MockUniswapV2Router02.addLiquidityETH": {
          "64": [
            11821,
            11977
          ],
          "65": [
            12071,
            12161
          ],
          "66": [
            12167,
            12227
          ],
          "67": [
            12233,
            12299
          ],
          "68": [
            12305,
            12367
          ],
          "69": [
            12437,
            12523
          ]
        },
        "MockUniswapV2Router02.getAmountIn": {
          "40": [
            27265,
            27355
          ]
        },
        "MockUniswapV2Router02.getAmountOut": {
          "5": [
            27021,
            27111
          ]
        },
        "MockUniswapV2Router02.getAmountsIn": {
          "13": [
            27756,
            27839
          ]
        },
        "MockUniswapV2Router02.getAmountsOut": {
          "57": [
            27514,
            27597
          ]
        },
        "MockUniswapV2Router02.quote": {
          "43": [
            26787,
            26866
          ]
        },
        "MockUniswapV2Router02.removeLiquidity": {
          "53": [
            12905,
            12988
          ],
          "54": [
            13198,
            13277
          ],
          "55": [
            13283,
            13355
          ],
          "56": [
            13361,
            13433
          ]
        },
        "MockUniswapV2Router02.removeLiquidityETH": {
          "1": [
            13686,
            13855
          ],
          "2": [
            13861,
            13933
          ],
          "3": [
            13939,
            13991
          ],
          "4": [
            13997,
            14063
          ]
        },
        "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens": {
          "44": [
            15916,
            16074
          ],
          "45": [
            16080,
            16203
          ],
          "46": [
            16209,
            16261
          ],
          "47": [
            16267,
            16333
          ]
        },
        "MockUniswapV2Router02.removeLiquidityETHWithPermit": {
          "58": [
            15280,
            15429
          ],
          "59": [
            15435,
            15584
          ]
        },
        "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens": {
          "23": [
            16796,
            16945
          ],
          "24": [
            16951,
            17114
          ]
        },
        "MockUniswapV2Router02.removeLiquidityWithPermit": {
          "14": [
            14524,
            14673
          ],
          "15": [
            14679,
            14828
          ]
        },
        "MockUniswapV2Router02.swapETHForExactTokens": {
          "70": [
            22103,
            22160
          ],
          "71": [
            22166,
            22252
          ],
          "72": [
            22258,
            22333
          ],
          "73": [
            22339,
            22400
          ],
          "74": [
            22406,
            22577
          ],
          "75": [
            22583,
            22607
          ],
          "76": [
            22678,
            22765
          ]
        },
        "MockUniswapV2Router02.swapExactETHForTokens": {
          "34": [
            19541,
            19598
          ],
          "35": [
            19604,
            19691
          ],
          "36": [
            19697,
            19814
          ],
          "37": [
            19820,
            19881
          ],
          "38": [
            19887,
            20058
          ],
          "39": [
            20064,
            20088
          ]
        },
        "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens": {
          "48": [
            25176,
            25233
          ],
          "49": [
            25270,
            25329
          ],
          "50": [
            25335,
            25504
          ],
          "51": [
            25580,
            25624
          ],
          "52": [
            25630,
            25782
          ]
        },
        "MockUniswapV2Router02.swapExactTokensForETH": {
          "6": [
            21198,
            21269
          ],
          "7": [
            21275,
            21361
          ],
          "8": [
            21367,
            21484
          ],
          "9": [
            21490,
            21679
          ],
          "10": [
            21685,
            21720
          ],
          "11": [
            21726,
            21796
          ],
          "12": [
            21802,
            21886
          ]
        },
        "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens": {
          "28": [
            26010,
            26081
          ],
          "29": [
            26087,
            26274
          ],
          "30": [
            26280,
            26335
          ],
          "31": [
            26401,
            26482
          ],
          "32": [
            26488,
            26540
          ],
          "33": [
            26546,
            26612
          ]
        },
        "MockUniswapV2Router02.swapExactTokensForTokens": {
          "16": [
            18259,
            18345
          ],
          "17": [
            18351,
            18468
          ],
          "18": [
            18474,
            18663
          ],
          "19": [
            18669,
            18693
          ]
        },
        "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens": {
          "25": [
            24494,
            24681
          ],
          "26": [
            24757,
            24801
          ],
          "27": [
            24807,
            24959
          ]
        },
        "MockUniswapV2Router02.swapTokensForExactETH": {
          "20": [
            20319,
            20390
          ],
          "21": [
            20396,
            20482
          ],
          "22": [
            20488,
            20565
          ]
        },
        "MockUniswapV2Router02.swapTokensForExactTokens": {
          "41": [
            18927,
            19013
          ],
          "42": [
            19019,
            19096
          ]
        },
        "MockUniswapV2Router02SafeMath.add": {
          "118": [
            28062,
            28111
          ]
        },
        "MockUniswapV2Router02SafeMath.mul": {
          "117": [
            28311,
            28374
          ]
        },
        "MockUniswapV2Router02SafeMath.sub": {
          "100": [
            28186,
            28236
          ]
        },
        "MockUniswapV2Router02TransferHelper.safeTransfer": {
          "77": [
            33520,
            33660
          ]
        },
        "MockUniswapV2Router02TransferHelper.safeTransferETH": {
          "78": [
            34246,
            34322
          ]
        },
        "MockUniswapV2Router02TransferHelper.safeTransferFrom": {
          "88": [
            33968,
            34113
          ]
        },
        "MockUniswapV2Router02UniswapV2Library.getAmountIn": {
          "101": [
            31133,
            31224
          ],
          "102": [
            31230,
            31353
          ],
          "103": [
            31475,
            31518
          ]
        },
        "MockUniswapV2Router02UniswapV2Library.getAmountOut": {
          "79": [
            30460,
            30549
          ],
          "80": [
            30555,
            30678
          ],
          "81": [
            30849,
            30884
          ]
        },
        "MockUniswapV2Router02UniswapV2Library.getAmountsIn": {
          "91": [
            32324,
            32404
          ],
          "92": [
            32410,
            32443
          ],
          "93": [
            32449,
            32488
          ],
          "94": [
            32631,
            32694
          ],
          "95": [
            32532,
            32535
          ]
        },
        "MockUniswapV2Router02UniswapV2Library.getAmountsOut": {
          "82": [
            31744,
            31824
          ],
          "83": [
            31830,
            31863
          ],
          "84": [
            31869,
            31890
          ],
          "85": [
            32029,
            32093
          ],
          "86": [
            31930,
            31933
          ]
        },
        "MockUniswapV2Router02UniswapV2Library.getReserves": {
          "119": [
            29639,
            29724
          ]
        },
        "MockUniswapV2Router02UniswapV2Library.pairFor": {
          "87": [
            29177,
            29255
          ]
        },
        "MockUniswapV2Router02UniswapV2Library.quote": {
          "104": [
            29953,
            30035
          ],
          "105": [
            30041,
            30161
          ],
          "106": [
            30167,
            30209
          ]
        },
        "MockUniswapV2Router02UniswapV2Library.sortTokens": {
          "107": [
            28707,
            28794
          ],
          "108": [
            28800,
            28872
          ],
          "109": [
            28878,
            28962
          ]
        }
      }
    }
  },
  "dependencies": [
    "IERC20",
    "MockUniswapV2Router02IUniswapV2Factory",
    "MockUniswapV2Router02IUniswapV2Pair",
    "MockUniswapV2Router02IUniswapV2Router01",
    "MockUniswapV2Router02IUniswapV2Router02",
    "MockUniswapV2Router02IWETH",
    "MockUniswapV2Router02SafeMath",
    "MockUniswapV2Router02TransferHelper",
    "MockUniswapV2Router02UniswapV2Library"
  ],
  "deployedBytecode": "60806040526004361061014f5760003560e01c80638803dbee116100b6578063c45a01551161006f578063c45a015514610a10578063d06ca61f14610a25578063ded9382a14610ada578063e8e3370014610b4d578063f305d71914610bcd578063fb3bdb4114610c1357610188565b80638803dbee146107df578063ad5c464814610875578063ad615dec146108a6578063af2979eb146108dc578063b6f9de951461092f578063baa2abde146109b357610188565b80634a25d94a116101085780634a25d94a146104f05780635b0d5984146105865780635c11d795146105f9578063791ac9471461068f5780637ff36ab51461072557806385f8c259146107a957610188565b806302751cec1461018d578063054d50d4146101f957806318cbafe5146102415780631f00ca74146103275780632195995c146103dc57806338ed17391461045a57610188565b3661018857336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461018657fe5b005b600080fd5b34801561019957600080fd5b506101e0600480360360c08110156101b057600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a00135610c97565b6040805192835260208301919091528051918290030190f35b34801561020557600080fd5b5061022f6004803603606081101561021c57600080fd5b5080359060208101359060400135610db1565b60408051918252519081900360200190f35b34801561024d57600080fd5b506102d7600480360360a081101561026457600080fd5b813591602081013591810190606081016040820135600160201b81111561028a57600080fd5b82018360208201111561029c57600080fd5b803590602001918460208302840111600160201b831117156102bd57600080fd5b91935091506001600160a01b038135169060200135610dc6565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103135781810151838201526020016102fb565b505050509050019250505060405180910390f35b34801561033357600080fd5b506102d76004803603604081101561034a57600080fd5b81359190810190604081016020820135600160201b81111561036b57600080fd5b82018360208201111561037d57600080fd5b803590602001918460208302840111600160201b8311171561039e57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506110f3945050505050565b3480156103e857600080fd5b506101e0600480360361016081101561040057600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c08101359060e081013515159060ff6101008201351690610120810135906101400135611129565b34801561046657600080fd5b506102d7600480360360a081101561047d57600080fd5b813591602081013591810190606081016040820135600160201b8111156104a357600080fd5b8201836020820111156104b557600080fd5b803590602001918460208302840111600160201b831117156104d657600080fd5b91935091506001600160a01b038135169060200135611223565b3480156104fc57600080fd5b506102d7600480360360a081101561051357600080fd5b813591602081013591810190606081016040820135600160201b81111561053957600080fd5b82018360208201111561054b57600080fd5b803590602001918460208302840111600160201b8311171561056c57600080fd5b91935091506001600160a01b03813516906020013561136e565b34801561059257600080fd5b5061022f60048036036101408110156105aa57600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e082013516906101008101359061012001356114fa565b34801561060557600080fd5b50610186600480360360a081101561061c57600080fd5b813591602081013591810190606081016040820135600160201b81111561064257600080fd5b82018360208201111561065457600080fd5b803590602001918460208302840111600160201b8311171561067557600080fd5b91935091506001600160a01b038135169060200135611608565b34801561069b57600080fd5b50610186600480360360a08110156106b257600080fd5b813591602081013591810190606081016040820135600160201b8111156106d857600080fd5b8201836020820111156106ea57600080fd5b803590602001918460208302840111600160201b8311171561070b57600080fd5b91935091506001600160a01b038135169060200135611885565b6102d76004803603608081101561073b57600080fd5b81359190810190604081016020820135600160201b81111561075c57600080fd5b82018360208201111561076e57600080fd5b803590602001918460208302840111600160201b8311171561078f57600080fd5b91935091506001600160a01b038135169060200135611b0e565b3480156107b557600080fd5b5061022f600480360360608110156107cc57600080fd5b5080359060208101359060400135611e58565b3480156107eb57600080fd5b506102d7600480360360a081101561080257600080fd5b813591602081013591810190606081016040820135600160201b81111561082857600080fd5b82018360208201111561083a57600080fd5b803590602001918460208302840111600160201b8311171561085b57600080fd5b91935091506001600160a01b038135169060200135611e65565b34801561088157600080fd5b5061088a611f5e565b604080516001600160a01b039092168252519081900360200190f35b3480156108b257600080fd5b5061022f600480360360608110156108c957600080fd5b5080359060208101359060400135611f82565b3480156108e857600080fd5b5061022f600480360360c08110156108ff57600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a00135611f8f565b6101866004803603608081101561094557600080fd5b81359190810190604081016020820135600160201b81111561096657600080fd5b82018360208201111561097857600080fd5b803590602001918460208302840111600160201b8311171561099957600080fd5b91935091506001600160a01b038135169060200135612115565b3480156109bf57600080fd5b506101e0600480360360e08110156109d657600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c00135612486565b348015610a1c57600080fd5b5061088a6126ca565b348015610a3157600080fd5b506102d760048036036040811015610a4857600080fd5b81359190810190604081016020820135600160201b811115610a6957600080fd5b820183602082011115610a7b57600080fd5b803590602001918460208302840111600160201b83111715610a9c57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506126ee945050505050565b348015610ae657600080fd5b506101e06004803603610140811015610afe57600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e0820135169061010081013590610120013561271b565b348015610b5957600080fd5b50610baf6004803603610100811015610b7157600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359160c0820135169060e0013561282f565b60408051938452602084019290925282820152519081900360600190f35b610baf600480360360c0811015610be357600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a00135612962565b6102d760048036036080811015610c2957600080fd5b81359190810190604081016020820135600160201b811115610c4a57600080fd5b820183602082011115610c5c57600080fd5b803590602001918460208302840111600160201b83111715610c7d57600080fd5b91935091506001600160a01b038135169060200135612bf5565b6000808242811015610cde576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b610d0d897f00000000000000000000000000000000000000000000000000000000000000008a8a8a308a612486565b9093509150610d1d898685612f6e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610d8357600080fd5b505af1158015610d97573d6000803e3d6000fd5b50505050610da585836130c2565b50965096945050505050565b6000610dbe8484846131ba565b949350505050565b60608142811015610e0c576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001686866000198101818110610e4657fe5b905060200201356001600160a01b03166001600160a01b031614610e9f576040805162461bcd60e51b815260206004820152601d6024820152600080516020614464833981519152604482015290519081900360640190fd5b610efd7f00000000000000000000000000000000000000000000000000000000000000008988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061329292505050565b91508682600184510381518110610f1057fe5b60200260200101511015610f555760405162461bcd60e51b815260040180806020018281038252602b815260200180614551602b913960400191505060405180910390fd5b610ff386866000818110610f6557fe5b905060200201356001600160a01b031633610fd97f00000000000000000000000000000000000000000000000000000000000000008a8a6000818110610fa757fe5b905060200201356001600160a01b03168b8b6001818110610fc457fe5b905060200201356001600160a01b03166133c8565b85600081518110610fe657fe5b602002602001015161345c565b611032828787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152503092506135b9915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d8360018551038151811061107157fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156110af57600080fd5b505af11580156110c3573d6000803e3d6000fd5b505050506110e884836001855103815181106110db57fe5b60200260200101516130c2565b509695505050505050565b60606111207f000000000000000000000000000000000000000000000000000000000000000084846137f6565b90505b92915050565b60008060006111597f00000000000000000000000000000000000000000000000000000000000000008f8f6133c8565b9050600087611168578c61116c565b6000195b6040805163d505accf60e01b815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c4810188905290519192506001600160a01b0384169163d505accf9160e48082019260009290919082900301818387803b1580156111e257600080fd5b505af11580156111f6573d6000803e3d6000fd5b505050506112098f8f8f8f8f8f8f612486565b809450819550505050509b509b9950505050505050505050565b60608142811015611269576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b6112c77f00000000000000000000000000000000000000000000000000000000000000008988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061329292505050565b915086826001845103815181106112da57fe5b6020026020010151101561131f5760405162461bcd60e51b815260040180806020018281038252602b815260200180614551602b913960400191505060405180910390fd5b61132f86866000818110610f6557fe5b6110e8828787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508992506135b9915050565b606081428110156113b4576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016868660001981018181106113ee57fe5b905060200201356001600160a01b03166001600160a01b031614611447576040805162461bcd60e51b815260206004820152601d6024820152600080516020614464833981519152604482015290519081900360640190fd5b6114a57f0000000000000000000000000000000000000000000000000000000000000000898888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506137f692505050565b915086826000815181106114b557fe5b60200260200101511115610f555760405162461bcd60e51b815260040180806020018281038252602781526020018061443d6027913960400191505060405180910390fd5b6000806115487f00000000000000000000000000000000000000000000000000000000000000008d7f00000000000000000000000000000000000000000000000000000000000000006133c8565b9050600086611557578b61155b565b6000195b6040805163d505accf60e01b815233600482015230602482015260448101839052606481018b905260ff8916608482015260a4810188905260c4810187905290519192506001600160a01b0384169163d505accf9160e48082019260009290919082900301818387803b1580156115d157600080fd5b505af11580156115e5573d6000803e3d6000fd5b505050506115f78d8d8d8d8d8d611f8f565b9d9c50505050505050505050505050565b804281101561164c576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b6116c18585600081811061165c57fe5b905060200201356001600160a01b0316336116bb7f00000000000000000000000000000000000000000000000000000000000000008989600081811061169e57fe5b905060200201356001600160a01b03168a8a6001818110610fc457fe5b8a61345c565b6000858560001981018181106116d357fe5b905060200201356001600160a01b03166001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561172f57600080fd5b505afa158015611743573d6000803e3d6000fd5b505050506040513d602081101561175957600080fd5b5051604080516020888102828101820190935288825292935061179b929091899189918291850190849080828437600092019190915250889250613918915050565b8661183e82888860001981018181106117b057fe5b905060200201356001600160a01b03166001600160a01b03166370a08231886040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561180c57600080fd5b505afa158015611820573d6000803e3d6000fd5b505050506040513d602081101561183657600080fd5b505190613c1a565b101561187b5760405162461bcd60e51b815260040180806020018281038252602b815260200180614551602b913960400191505060405180910390fd5b5050505050505050565b80428110156118c9576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168585600019810181811061190357fe5b905060200201356001600160a01b03166001600160a01b03161461195c576040805162461bcd60e51b815260206004820152601d6024820152600080516020614464833981519152604482015290519081900360640190fd5b61196c8585600081811061165c57fe5b6119aa858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250309250613918915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611a1957600080fd5b505afa158015611a2d573d6000803e3d6000fd5b505050506040513d6020811015611a4357600080fd5b5051905086811015611a865760405162461bcd60e51b815260040180806020018281038252602b815260200180614551602b913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611aec57600080fd5b505af1158015611b00573d6000803e3d6000fd5b5050505061187b84826130c2565b60608142811015611b54576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031686866000818110611b8b57fe5b905060200201356001600160a01b03166001600160a01b031614611be4576040805162461bcd60e51b815260206004820152601d6024820152600080516020614464833981519152604482015290519081900360640190fd5b611c427f00000000000000000000000000000000000000000000000000000000000000003488888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061329292505050565b91508682600184510381518110611c5557fe5b60200260200101511015611c9a5760405162461bcd60e51b815260040180806020018281038252602b815260200180614551602b913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db083600081518110611cd657fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b158015611d0957600080fd5b505af1158015611d1d573d6000803e3d6000fd5b50505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb611d827f00000000000000000000000000000000000000000000000000000000000000008989600081811061169e57fe5b84600081518110611d8f57fe5b60200260200101516040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015611ddd57600080fd5b505af1158015611df1573d6000803e3d6000fd5b505050506040513d6020811015611e0757600080fd5b5051611e0f57fe5b611e4e828787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508992506135b9915050565b5095945050505050565b6000610dbe848484613c6a565b60608142811015611eab576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b611f097f0000000000000000000000000000000000000000000000000000000000000000898888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506137f692505050565b91508682600081518110611f1957fe5b6020026020010151111561131f5760405162461bcd60e51b815260040180806020018281038252602781526020018061443d6027913960400191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610dbe848484613d42565b60008142811015611fd5576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b612004887f00000000000000000000000000000000000000000000000000000000000000008989893089612486565b90508092505061208d88858a6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561205c57600080fd5b505afa158015612070573d6000803e3d6000fd5b505050506040513d602081101561208657600080fd5b5051612f6e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156120f357600080fd5b505af1158015612107573d6000803e3d6000fd5b505050506110e884836130c2565b8042811015612159576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168585600081811061219057fe5b905060200201356001600160a01b03166001600160a01b0316146121e9576040805162461bcd60e51b815260206004820152601d6024820152600080516020614464833981519152604482015290519081900360640190fd5b60003490507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561224957600080fd5b505af115801561225d573d6000803e3d6000fd5b50505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb6122c27f00000000000000000000000000000000000000000000000000000000000000008989600081811061169e57fe5b836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561230957600080fd5b505af115801561231d573d6000803e3d6000fd5b505050506040513d602081101561233357600080fd5b505161233b57fe5b60008686600019810181811061234d57fe5b905060200201356001600160a01b03166001600160a01b03166370a08231866040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156123a957600080fd5b505afa1580156123bd573d6000803e3d6000fd5b505050506040513d60208110156123d357600080fd5b505160408051602089810282810182019093528982529293506124159290918a918a918291850190849080828437600092019190915250899250613918915050565b8761183e828989600019810181811061242a57fe5b905060200201356001600160a01b03166001600160a01b03166370a08231896040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561180c57600080fd5b60008082428110156124cd576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b60006124fa7f00000000000000000000000000000000000000000000000000000000000000008c8c6133c8565b604080516323b872dd60e01b81523360048201526001600160a01b03831660248201819052604482018d9052915192935090916323b872dd916064808201926020929091908290030181600087803b15801561255557600080fd5b505af1158015612569573d6000803e3d6000fd5b505050506040513d602081101561257f57600080fd5b50506040805163226bf2d160e21b81526001600160a01b03888116600483015282516000938493928616926389afcb44926024808301939282900301818787803b1580156125cc57600080fd5b505af11580156125e0573d6000803e3d6000fd5b505050506040513d60408110156125f657600080fd5b508051602090910151909250905060006126108e8e613de8565b509050806001600160a01b03168e6001600160a01b031614612633578183612636565b82825b90975095508a87101561267a5760405162461bcd60e51b815260040180806020018281038252602681526020018061452b6026913960400191505060405180910390fd5b898610156126b95760405162461bcd60e51b81526004018080602001828103825260268152602001806143676026913960400191505060405180910390fd5b505050505097509795505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60606111207f00000000000000000000000000000000000000000000000000000000000000008484613292565b600080600061276b7f00000000000000000000000000000000000000000000000000000000000000008e7f00000000000000000000000000000000000000000000000000000000000000006133c8565b905060008761277a578c61277e565b6000195b6040805163d505accf60e01b815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c4810188905290519192506001600160a01b0384169163d505accf9160e48082019260009290919082900301818387803b1580156127f457600080fd5b505af1158015612808573d6000803e3d6000fd5b5050505061281a8e8e8e8e8e8e610c97565b909f909e509c50505050505050505050505050565b60008060008342811015612878576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b6128868c8c8c8c8c8c613eb0565b909450925060006128b87f00000000000000000000000000000000000000000000000000000000000000008e8e6133c8565b90506128c68d33838861345c565b6128d28c33838761345c565b806001600160a01b0316636a627842886040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b15801561292157600080fd5b505af1158015612935573d6000803e3d6000fd5b505050506040513d602081101561294b57600080fd5b5051949d939c50939a509198505050505050505050565b600080600083428110156129ab576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b6129d98a7f00000000000000000000000000000000000000000000000000000000000000008b348c8c613eb0565b90945092506000612a2b7f00000000000000000000000000000000000000000000000000000000000000008c7f00000000000000000000000000000000000000000000000000000000000000006133c8565b9050612a398b33838861345c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b158015612a9457600080fd5b505af1158015612aa8573d6000803e3d6000fd5b50505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb82866040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612b2457600080fd5b505af1158015612b38573d6000803e3d6000fd5b505050506040513d6020811015612b4e57600080fd5b5051612b5657fe5b806001600160a01b0316636a627842886040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b158015612ba557600080fd5b505af1158015612bb9573d6000803e3d6000fd5b505050506040513d6020811015612bcf57600080fd5b5051925034841015612be757612be7338534036130c2565b505096509650969350505050565b60608142811015612c3b576040805162461bcd60e51b815260206004820152601860248201526000805160206145b6833981519152604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031686866000818110612c7257fe5b905060200201356001600160a01b03166001600160a01b031614612ccb576040805162461bcd60e51b815260206004820152601d6024820152600080516020614464833981519152604482015290519081900360640190fd5b612d297f0000000000000000000000000000000000000000000000000000000000000000888888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506137f692505050565b91503482600081518110612d3957fe5b60200260200101511115612d7e5760405162461bcd60e51b815260040180806020018281038252602781526020018061443d6027913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db083600081518110612dba57fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b158015612ded57600080fd5b505af1158015612e01573d6000803e3d6000fd5b50505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb612e667f00000000000000000000000000000000000000000000000000000000000000008989600081811061169e57fe5b84600081518110612e7357fe5b60200260200101516040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612ec157600080fd5b505af1158015612ed5573d6000803e3d6000fd5b505050506040513d6020811015612eeb57600080fd5b5051612ef357fe5b612f32828787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508992506135b9915050565b81600081518110612f3f57fe5b6020026020010151341115611e4e57611e4e3383600081518110612f5f57fe5b602002602001015134036130c2565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000946060949389169392918291908083835b60208310612feb5780518252601f199092019160209182019101612fcc565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461304d576040519150601f19603f3d011682016040523d82523d6000602084013e613052565b606091505b5091509150818015613080575080511580613080575080806020019051602081101561307d57600080fd5b50515b6130bb5760405162461bcd60e51b81526004018080602001828103825260348152602001806142bb6034913960400191505060405180910390fd5b5050505050565b604080516000808252602082019092526001600160a01b0384169083906040518082805190602001908083835b6020831061310e5780518252601f1990920191602091820191016130ef565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613170576040519150601f19603f3d011682016040523d82523d6000602084013e613175565b606091505b50509050806131b55760405162461bcd60e51b815260040180806020018281038252603881526020018061432f6038913960400191505060405180910390fd5b505050565b60008084116131fa5760405162461bcd60e51b81526004018080602001828103825260408152602001806142ef6040913960400191505060405180910390fd5b60008311801561320a5750600082115b6132455760405162461bcd60e51b815260040180806020018281038252603d8152602001806143c7603d913960400191505060405180910390fd5b6000613253856103e5614141565b905060006132618285614141565b9050600061327b83613275886103e8614141565b906141a4565b905080828161328657fe5b04979650505050505050565b60606002825110156132d55760405162461bcd60e51b81526004018080602001828103825260338152602001806144846033913960400191505060405180910390fd5b815167ffffffffffffffff811180156132ed57600080fd5b50604051908082528060200260200182016040528015613317578160200160208202803683370190505b509050828160008151811061332857fe5b60200260200101818152505060005b60018351038110156133c05760008061337a8786858151811061335657fe5b602002602001015187866001018151811061336d57fe5b60200260200101516141f3565b9150915061339c84848151811061338d57fe5b602002602001015183836131ba565b8484600101815181106133ab57fe5b60209081029190910101525050600101613337565b509392505050565b6000836001600160a01b031663e6a4390584846040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b15801561342857600080fd5b505afa15801561343c573d6000803e3d6000fd5b505050506040513d602081101561345257600080fd5b5051949350505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17815292518251600094606094938a169392918291908083835b602083106134e15780518252601f1990920191602091820191016134c2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613543576040519150601f19603f3d011682016040523d82523d6000602084013e613548565b606091505b5091509150818015613576575080511580613576575080806020019051602081101561357357600080fd5b50515b6135b15760405162461bcd60e51b81526004018080602001828103825260398152602001806144046039913960400191505060405180910390fd5b505050505050565b60005b60018351038110156137f0576000808483815181106135d757fe5b60200260200101518584600101815181106135ee57fe5b60200260200101519150915060006136068383613de8565b509050600087856001018151811061361a57fe5b60200260200101519050600080836001600160a01b0316866001600160a01b0316146136485782600061364c565b6000835b91509150600060028a5103881061366357886136a4565b6136a47f0000000000000000000000000000000000000000000000000000000000000000878c8b6002018151811061369757fe5b60200260200101516133c8565b90506136d17f000000000000000000000000000000000000000000000000000000000000000088886133c8565b6001600160a01b031663022c0d9f84848460006040519080825280601f01601f19166020018201604052801561370e576020820181803683370190505b506040518563ffffffff1660e01b815260040180858152602001848152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561377657818101518382015260200161375e565b50505050905090810190601f1680156137a35780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156137c557600080fd5b505af11580156137d9573d6000803e3d6000fd5b5050600190990198506135bc975050505050505050565b50505050565b60606002825110156138395760405162461bcd60e51b81526004018080602001828103825260338152602001806144846033913960400191505060405180910390fd5b815167ffffffffffffffff8111801561385157600080fd5b5060405190808252806020026020018201604052801561387b578160200160208202803683370190505b509050828160018351038151811061388f57fe5b60209081029190910101528151600019015b80156133c0576000806138d1878660018603815181106138bd57fe5b602002602001015187868151811061336d57fe5b915091506138f38484815181106138e457fe5b60200260200101518383613c6a565b84600185038151811061390257fe5b60209081029190910101525050600019016138a1565b60005b60018351038110156131b55760008084838151811061393657fe5b602002602001015185846001018151811061394d57fe5b60200260200101519150915060006139658383613de8565b50905060006139957f000000000000000000000000000000000000000000000000000000000000000085856133c8565b9050600080600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156139d657600080fd5b505afa1580156139ea573d6000803e3d6000fd5b505050506040513d6060811015613a0057600080fd5b5080516020909101516001600160701b0391821693501690506000806001600160a01b038a811690891614613a36578284613a39565b83835b91509150613a8e828b6001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561180c57600080fd5b9550613a9b8683836131ba565b945050505050600080856001600160a01b0316886001600160a01b031614613ac557826000613ac9565b6000835b91509150600060028c51038a10613ae0578a613b14565b613b147f0000000000000000000000000000000000000000000000000000000000000000898e8d6002018151811061369757fe5b604080516000808252602082019283905263022c0d9f60e01b835260248201878152604483018790526001600160a01b038086166064850152608060848501908152845160a48601819052969750908c169563022c0d9f958a958a958a9591949193919260c486019290918190849084905b83811015613b9e578181015183820152602001613b86565b50505050905090810190601f168015613bcb5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015613bed57600080fd5b505af1158015613c01573d6000803e3d6000fd5b50506001909b019a5061391b9950505050505050505050565b80820382811115611123576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6000808411613caa5760405162461bcd60e51b81526004018080602001828103825260418152602001806144ea6041913960600191505060405180910390fd5b600083118015613cba5750600082115b613cf55760405162461bcd60e51b815260040180806020018281038252603d8152602001806143c7603d913960400191505060405180910390fd5b6000613d0d6103e8613d078688614141565b90614141565b90506000613d216103e5613d078689613c1a565b9050613d386001828481613d3157fe5b04906141a4565b9695505050505050565b6000808411613d825760405162461bcd60e51b815260040180806020018281038252603a81526020018061438d603a913960400191505060405180910390fd5b600083118015613d925750600082115b613dcd5760405162461bcd60e51b815260040180806020018281038252603d8152602001806143c7603d913960400191505060405180910390fd5b82613dd88584614141565b81613ddf57fe5b04949350505050565b600080826001600160a01b0316846001600160a01b03161415613e3c5760405162461bcd60e51b815260040180806020018281038252603a81526020018061457c603a913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b031610613e5c578284613e5f565b83835b90925090506001600160a01b038216613ea95760405162461bcd60e51b81526004018080602001828103825260338152602001806144b76033913960400191505060405180910390fd5b9250929050565b60008060006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e6a439058a8a6040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b158015613f3c57600080fd5b505afa158015613f50573d6000803e3d6000fd5b505050506040513d6020811015613f6657600080fd5b50516001600160a01b03161415614024577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c9c6539689896040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b158015613ff757600080fd5b505af115801561400b573d6000803e3d6000fd5b505050506040513d602081101561402157600080fd5b50505b6000806140527f00000000000000000000000000000000000000000000000000000000000000008b8b6141f3565b91509150816000148015614064575080155b1561407457879350869250614134565b6000614081898484613d42565b90508781116140d457858110156140c95760405162461bcd60e51b81526004018080602001828103825260268152602001806143676026913960400191505060405180910390fd5b889450925082614132565b60006140e1898486613d42565b9050898111156140ed57fe5b8781101561412c5760405162461bcd60e51b815260040180806020018281038252602681526020018061452b6026913960400191505060405180910390fd5b94508793505b505b5050965096945050505050565b600081158061415c5750508082028282828161415957fe5b04145b611123576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b80820182811015611123576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fd5b60008060006142028585613de8565b5090506000806142138888886133c8565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561424b57600080fd5b505afa15801561425f573d6000803e3d6000fd5b505050506040513d606081101561427557600080fd5b5080516020909101516001600160701b0391821693501690506001600160a01b03878116908416146142a85780826142ab565b81815b9099909850965050505050505056fe4d6f636b556e69737761705632526f7574657230325472616e7366657248656c7065723a205452414e534645525f4641494c45444d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e544d6f636b556e69737761705632526f7574657230325472616e7366657248656c7065723a204554485f5452414e534645525f4641494c4544556e69737761705632526f757465723a20494e53554646494349454e545f425f414d4f554e544d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e544d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a20494e53554646494349454e545f4c49515549444954594d6f636b556e69737761705632526f7574657230325472616e7366657248656c7065723a205452414e534645525f46524f4d5f4641494c4544556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54556e69737761705632526f757465723a20494e56414c49445f504154480000004d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a20494e56414c49445f504154484d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a205a45524f5f414444524553534d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e54556e69737761705632526f757465723a20494e53554646494349454e545f415f414d4f554e54556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e544d6f636b556e69737761705632526f757465723032556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553556e69737761705632526f757465723a20455850495245440000000000000000a26469706673582212201190f225bbe6bdb7f8857b827bee1ce90bb665b4192db0affb104f6b6e3cff0864736f6c634300060c0033",
  "deployedSourceMap": "8709:19137:26:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9184:10;-1:-1:-1;;;;;9198:4:26;9184:18;;9177:26;;;;8709:19137;;;;;13442:626;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13442:626:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;26875:241;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26875:241:26;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;20976:915;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;20976:915:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;20976:915:26;;;;;;;;;;;;-1:-1:-1;20976:915:26;-1:-1:-1;;;;;;20976:915:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27606:238;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;27606:238:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;27606:238:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27606:238:26;;-1:-1:-1;27606:238:26;;-1:-1:-1;;;;;27606:238:26:i;14072:761::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14072:761:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;18034:664::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18034:664:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18034:664:26;;;;;;;;;;;;-1:-1:-1;18034:664:26;-1:-1:-1;;;;;;18034:664:26;;;;;;;;:::i;20097:875::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;20097:875:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;20097:875:26;;;;;;;;;;;;-1:-1:-1;20097:875:26;-1:-1:-1;;;;;;20097:875:26;;;;;;;;:::i;16342:777::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16342:777:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;24272:692::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;24272:692:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;24272:692:26;;;;;;;;;;;;-1:-1:-1;24272:692:26;-1:-1:-1;;;;;;24272:692:26;;;;;;;;:::i;25791:826::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;25791:826:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;25791:826:26;;;;;;;;;;;;-1:-1:-1;25791:826:26;-1:-1:-1;;;;;;25791:826:26;;;;;;;;:::i;19330:763::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;19330:763:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;19330:763:26;;;;;;;;;;;;-1:-1:-1;19330:763:26;-1:-1:-1;;;;;;19330:763:26;;;;;;;;:::i;27120:240::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27120:240:26;;;;;;;;;;;;:::i;18702:624::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18702:624:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18702:624:26;;;;;;;;;;;;-1:-1:-1;18702:624:26;-1:-1:-1;;;;;;18702:624:26;;;;;;;;:::i;8881:38::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;8881:38:26;;;;;;;;;;;;;;26654:217;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26654:217:26;;;;;;;;;;;;:::i;15661:677::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15661:677:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;24968:819::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;24968:819:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;24968:819:26;;;;;;;;;;;;-1:-1:-1;24968:819:26;-1:-1:-1;;;;;;24968:819:26;;;;;;;;:::i;12564:874::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12564:874:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;8836:41::-;;;;;;;;;;;;;:::i;27364:238::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;27364:238:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;27364:238:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27364:238:26;;-1:-1:-1;27364:238:26;;-1:-1:-1;;;;;27364:238:26:i;14837:752::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14837:752:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10652:839::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10652:839:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;11495:1033;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11495:1033:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;21895:875::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;21895:875:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;21895:875:26;;;;;;;;;;;;-1:-1:-1;21895:875:26;-1:-1:-1;;;;;;21895:875:26;;;;;;;;:::i;13442:626::-;13646:16;13664:14;13627:8;8981:15;8969:8;:27;;8961:64;;;;;-1:-1:-1;;;8961:64:26;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8961:64:26;;;;;;;;;;;;;;;13713:142:::1;13736:5;13749:4;13761:9;13778:14;13800:12;13828:4;13841:8;13713:15;:142::i;:::-;13686:169:::0;;-1:-1:-1;13686:169:26;-1:-1:-1;13861:72:26::1;13910:5:::0;13917:2;13686:169;13861:48:::1;:72::i;:::-;13966:4;-1:-1:-1::0;;;;;13939:41:26::1;;13981:9;13939:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13997:66;14049:2;14053:9;13997:51;:66::i;:::-;13442:626:::0;;;;;;;;;;:::o;26875:241::-;26999:14;27028:83;27079:8;27089:9;27100:10;27028:50;:83::i;:::-;27021:90;26875:241;-1:-1:-1;;;;26875:241:26:o;20976:915::-;21169:21;21150:8;8981:15;8969:8;:27;;8961:64;;;;;-1:-1:-1;;;8961:64:26;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8961:64:26;;;;;;;;;;;;;;;-1:-1:-1;;;;;21231:4:26::1;21206:29;:4:::0;;-1:-1:-1;;21211:15:26;;21206:21;;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;21206:21:26::1;-1:-1:-1::0;;;;;21206:29:26::1;;21198:71;;;::::0;;-1:-1:-1;;;21198:71:26;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;21198:71:26;;;;;;;;;;;;;::::1;;21285:76;21337:7;21346:8;21356:4;;21285:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;21285:51:26::1;::::0;-1:-1:-1;;;21285:76:26:i:1;:::-;21275:86;;21413:12;21382:7;21407:1;21390:7;:14;:18;21382:27;;;;;;;;;;;;;;:43;;21367:117;;;;-1:-1:-1::0;;;21367:117:26::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21490:189;21550:4;;21555:1;21550:7;;;;;;;;;;;;;-1:-1:-1::0;;;;;21550:7:26::1;21565:10;21583:72;21629:7;21638:4;;21643:1;21638:7;;;;;;;;;;;;;-1:-1:-1::0;;;;;21638:7:26::1;21647:4;;21652:1;21647:7;;;;;;;;;;;;;-1:-1:-1::0;;;;;21647:7:26::1;21583:45;:72::i;:::-;21663:7;21671:1;21663:10;;;;;;;;;;;;;;21490:52;:189::i;:::-;21685:35;21691:7;21700:4;;21685:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;21714:4:26::1;::::0;-1:-1:-1;21685:5:26::1;::::0;-1:-1:-1;;21685:35:26:i:1;:::-;21753:4;-1:-1:-1::0;;;;;21726:41:26::1;;21768:7;21793:1;21776:7;:14;:18;21768:27;;;;;;;;;;;;;;21726:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;21802:84;21854:2;21858:7;21883:1;21866:7;:14;:18;21858:27;;;;;;;;;;;;;;21802:51;:84::i;:::-;20976:915:::0;;;;;;;;;:::o;27606:238::-;27725:21;27763:76;27814:7;27823:9;27834:4;27763:50;:76::i;:::-;27756:83;;27606:238;;;;;:::o;14072:761::-;14347:12;14361;14381;14396:70;14442:7;14451:6;14459;14396:45;:70::i;:::-;14381:85;;14472:10;14485;:33;;14509:9;14485:33;;;-1:-1:-1;;14485:33:26;14524:149;;;-1:-1:-1;;;14524:149:26;;14580:10;14524:149;;;;14606:4;14524:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14472:46;;-1:-1:-1;;;;;;14524:48:26;;;;;:149;;;;;-1:-1:-1;;14524:149:26;;;;;;;;-1:-1:-1;14524:48:26;:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14700:128;14723:6;14737;14751:9;14768:10;14786;14804:2;14814:8;14700:15;:128::i;:::-;14679:149;;;;;;;;14072:761;;;;;;;;;;;;;;;;:::o;18034:664::-;18230:21;18211:8;8981:15;8969:8;:27;;8961:64;;;;;-1:-1:-1;;;8961:64:26;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8961:64:26;;;;;;;;;;;;;;;18269:76:::1;18321:7;18330:8;18340:4;;18269:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;18269:51:26::1;::::0;-1:-1:-1;;;18269:76:26:i:1;:::-;18259:86;;18397:12;18366:7;18391:1;18374:7;:14;:18;18366:27;;;;;;;;;;;;;;:43;;18351:117;;;;-1:-1:-1::0;;;18351:117:26::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18474:189;18534:4;;18539:1;18534:7;;;;;;18474:189;18669:24;18675:7;18684:4;;18669:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;18690:2:26;;-1:-1:-1;18669:5:26::1;::::0;-1:-1:-1;;18669:24:26:i:1;20097:875::-:0;20290:21;20271:8;8981:15;8969:8;:27;;8961:64;;;;;-1:-1:-1;;;8961:64:26;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8961:64:26;;;;;;;;;;;;;;;-1:-1:-1;;;;;20352:4:26::1;20327:29;:4:::0;;-1:-1:-1;;20332:15:26;;20327:21;;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;20327:21:26::1;-1:-1:-1::0;;;;;20327:29:26::1;;20319:71;;;::::0;;-1:-1:-1;;;20319:71:26;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;20319:71:26;;;;;;;;;;;;;::::1;;20406:76;20457:7;20466:9;20477:4;;20406:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;20406:50:26::1;::::0;-1:-1:-1;;;20406:76:26:i:1;:::-;20396:86;;20510:11;20496:7;20504:1;20496:10;;;;;;;;;;;;;;:25;;20488:77;;;;-1:-1:-1::0;;;20488:77:26::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16342:777:::0;16634:14;16656:12;16671:67;16717:7;16726:5;16733:4;16671:45;:67::i;:::-;16656:82;;16744:10;16757;:33;;16781:9;16757:33;;;-1:-1:-1;;16757:33:26;16796:149;;;-1:-1:-1;;;16796:149:26;;16852:10;16796:149;;;;16878:4;16796:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16744:46;;-1:-1:-1;;;;;;16796:48:26;;;;;:149;;;;;-1:-1:-1;;16796:149:26;;;;;;;;-1:-1:-1;16796:48:26;:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16963:151;17018:5;17031:9;17048:14;17070:12;17090:2;17100:8;16963:47;:151::i;:::-;16951:163;16342:777;-1:-1:-1;;;;;;;;;;;;;16342:777:26:o;24272:692::-;24478:8;8981:15;8969:8;:27;;8961:64;;;;;-1:-1:-1;;;8961:64:26;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8961:64:26;;;;;;;;;;;;;;;24494:187:::1;24554:4;;24559:1;24554:7;;;;;;;;;;;;;-1:-1:-1::0;;;;;24554:7:26::1;24569:10;24587:72;24633:7;24642:4;;24647:1;24642:7;;;;;;;;;;;;;-1:-1:-1::0;;;;;24642:7:26::1;24651:4;;24656:1;24651:7;;;;;;24587:72;24667:8;24494:52;:187::i;:::-;24687:18;24715:4:::0;;-1:-1:-1;;24720:15:26;;24715:21;;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;24715:21:26::1;-1:-1:-1::0;;;;;24708:39:26::1;;24748:2;24708:43;;;;;;;;;;;;;-1:-1:-1::0;;;;;24708:43:26::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;24708:43:26;24757:44:::1;::::0;;24708:43:::1;24757:44:::0;;::::1;::::0;;;;;;;;;;;24708:43;;-1:-1:-1;24757:44:26::1;::::0;;;24792:4;;;;;;24757:44;::::1;::::0;24792:4;;24757:44;24792:4;24757:44;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;24798:2:26;;-1:-1:-1;24757:34:26::1;::::0;-1:-1:-1;;24757:44:26:i:1;:::-;24888:12:::0;24822:62:::1;24870:13:::0;24829:4;;-1:-1:-1;;24834:15:26;;24829:21;;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;24829:21:26::1;-1:-1:-1::0;;;;;24822:39:26::1;;24862:2;24822:43;;;;;;;;;;;;;-1:-1:-1::0;;;;;24822:43:26::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;24822:43:26;;:47:::1;:62::i;:::-;:78;;24807:152;;;;-1:-1:-1::0;;;24807:152:26::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9031:1;24272:692:::0;;;;;;;:::o;25791:826::-;25994:8;8981:15;8969:8;:27;;8961:64;;;;;-1:-1:-1;;;8961:64:26;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8961:64:26;;;;;;;;;;;;;;;-1:-1:-1;;;;;26043:4:26::1;26018:29;:4:::0;;-1:-1:-1;;26023:15:26;;26018:21;;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;26018:21:26::1;-1:-1:-1::0;;;;;26018:29:26::1;;26010:71;;;::::0;;-1:-1:-1;;;26010:71:26;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;26010:71:26;;;;;;;;;;;;;::::1;;26087:187;26147:4;;26152:1;26147:7;;;;;;26087:187;26280:55;26315:4;;26280:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;26329:4:26::1;::::0;-1:-1:-1;26280:34:26::1;::::0;-1:-1:-1;;26280:55:26:i:1;:::-;26341:14;26365:4;-1:-1:-1::0;;;;;26358:22:26::1;;26389:4;26358:37;;;;;;;;;;;;;-1:-1:-1::0;;;;;26358:37:26::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;26358:37:26;;-1:-1:-1;26409:25:26;;::::1;;26401:81;;;;-1:-1:-1::0;;;26401:81:26::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26515:4;-1:-1:-1::0;;;;;26488:41:26::1;;26530:9;26488:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;26546:66;26598:2;26602:9;26546:51;:66::i;19330:763::-:0;19512:21;19493:8;8981:15;8969:8;:27;;8961:64;;;;;-1:-1:-1;;;8961:64:26;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8961:64:26;;;;;;;;;;;;;;;19560:4:::1;-1:-1:-1::0;;;;;19549:15:26::1;:4;;19554:1;19549:7;;;;;;;;;;;;;-1:-1:-1::0;;;;;19549:7:26::1;-1:-1:-1::0;;;;;19549:15:26::1;;19541:57;;;::::0;;-1:-1:-1;;;19541:57:26;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;19541:57:26;;;;;;;;;;;;;::::1;;19614:77;19666:7;19675:9;19686:4;;19614:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;19614:51:26::1;::::0;-1:-1:-1;;;19614:77:26:i:1;:::-;19604:87;;19743:12;19712:7;19737:1;19720:7;:14;:18;19712:27;;;;;;;;;;;;;;:43;;19697:117;;;;-1:-1:-1::0;;;19697:117:26::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19847:4;-1:-1:-1::0;;;;;19820:40:26::1;;19868:7;19876:1;19868:10;;;;;;;;;;;;;;19820:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;19928:4;-1:-1:-1::0;;;;;19901:41:26::1;;19952:72;19998:7;20007:4;;20012:1;20007:7;;;;;;19952:72;20034:7;20042:1;20034:10;;;;;;;;;;;;;;19901:151;;;;;;;;;;;;;-1:-1:-1::0;;;;;19901:151:26::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;19901:151:26;19887:171:::1;;;;20064:24;20070:7;20079:4;;20064:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;20085:2:26;;-1:-1:-1;20064:5:26::1;::::0;-1:-1:-1;;20064:24:26:i:1;:::-;19330:763:::0;;;;;;;;:::o;27120:240::-;27244:13;27272:83;27322:9;27333;27344:10;27272:49;:83::i;18702:624::-;18898:21;18879:8;8981:15;8969:8;:27;;8961:64;;;;;-1:-1:-1;;;8961:64:26;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8961:64:26;;;;;;;;;;;;;;;18937:76:::1;18988:7;18997:9;19008:4;;18937:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;18937:50:26::1;::::0;-1:-1:-1;;;18937:76:26:i:1;:::-;18927:86;;19041:11;19027:7;19035:1;19027:10;;;;;;;;;;;;;;:25;;19019:77;;;;-1:-1:-1::0;;;19019:77:26::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8881:38:::0;;;:::o;26654:217::-;26767:12;26794:72;26838:7;26847:8;26857;26794:43;:72::i;15661:677::-;15894:14;15875:8;8981:15;8969:8;:27;;8961:64;;;;;-1:-1:-1;;;8961:64:26;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8961:64:26;;;;;;;;;;;;;;;15932:142:::1;15955:5;15968:4;15980:9;15997:14;16019:12;16047:4;16060:8;15932:15;:142::i;:::-;15916:158;;;;;;16080:123;16136:5;16149:2;16166:5;-1:-1:-1::0;;;;;16159:23:26::1;;16191:4;16159:38;;;;;;;;;;;;;-1:-1:-1::0;;;;;16159:38:26::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;16159:38:26;16080:48:::1;:123::i;:::-;16236:4;-1:-1:-1::0;;;;;16209:41:26::1;;16251:9;16209:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16267:66;16319:2;16323:9;16267:51;:66::i;24968:819::-:0;25160:8;8981:15;8969:8;:27;;8961:64;;;;;-1:-1:-1;;;8961:64:26;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8961:64:26;;;;;;;;;;;;;;;25195:4:::1;-1:-1:-1::0;;;;;25184:15:26::1;:4;;25189:1;25184:7;;;;;;;;;;;;;-1:-1:-1::0;;;;;25184:7:26::1;-1:-1:-1::0;;;;;25184:15:26::1;;25176:57;;;::::0;;-1:-1:-1;;;25176:57:26;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;25176:57:26;;;;;;;;;;;;;::::1;;25239:13;25255:9;25239:25;;25297:4;-1:-1:-1::0;;;;;25270:40:26::1;;25318:8;25270:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;25376:4;-1:-1:-1::0;;;;;25349:41:26::1;;25400:72;25446:7;25455:4;;25460:1;25455:7;;;;;;25400:72;25482:8;25349:149;;;;;;;;;;;;;-1:-1:-1::0;;;;;25349:149:26::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;25349:149:26;25335:169:::1;;;;25510:18;25538:4:::0;;-1:-1:-1;;25543:15:26;;25538:21;;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;25538:21:26::1;-1:-1:-1::0;;;;;25531:39:26::1;;25571:2;25531:43;;;;;;;;;;;;;-1:-1:-1::0;;;;;25531:43:26::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;25531:43:26;25580:44:::1;::::0;;25531:43:::1;25580:44:::0;;::::1;::::0;;;;;;;;;;;25531:43;;-1:-1:-1;25580:44:26::1;::::0;;;25615:4;;;;;;25580:44;::::1;::::0;25615:4;;25580:44;25615:4;25580:44;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;25621:2:26;;-1:-1:-1;25580:34:26::1;::::0;-1:-1:-1;;25580:44:26:i:1;:::-;25711:12:::0;25645:62:::1;25693:13:::0;25652:4;;-1:-1:-1;;25657:15:26;;25652:21;;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;25652:21:26::1;-1:-1:-1::0;;;;;25645:39:26::1;;25685:2;25645:43;;;;;;;;;;;;;-1:-1:-1::0;;;;;25645:43:26::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;12564:874:::0;12780:12;12794;12761:8;8981:15;8969:8;:27;;8961:64;;;;;-1:-1:-1;;;8961:64:26;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8961:64:26;;;;;;;;;;;;;;;12814:12:::1;12829:70;12875:7;12884:6;12892;12829:45;:70::i;:::-;12905:83;::::0;;-1:-1:-1;;;12905:83:26;;12960:10:::1;12905:83;::::0;::::1;::::0;-1:-1:-1;;;;;12905:54:26;::::1;:83:::0;;;;;;;;;;;;;;12814:85;;-1:-1:-1;12905:54:26;;::::1;::::0;:83;;;;;::::1;::::0;;;;;;;;;-1:-1:-1;12905:54:26;:83;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;13051:50:26::1;::::0;;-1:-1:-1;;;13051:50:26;;-1:-1:-1;;;;;13051:50:26;;::::1;;::::0;::::1;::::0;;;13021:12:::1;::::0;;;13051:46;;::::1;::::0;::::1;::::0;:50;;;;;;;;;;;13021:12;13051:46;:50;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;13051:50:26;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;13051:50:26;-1:-1:-1;13108:14:26::1;13128:64;13177:6:::0;13185;13128:48:::1;:64::i;:::-;13107:85;;;13229:6;-1:-1:-1::0;;;;;13219:16:26::1;:6;-1:-1:-1::0;;;;;13219:16:26::1;;:58;;13260:7;13269;13219:58;;;13239:7;13248;13219:58;13198:79:::0;;-1:-1:-1;13198:79:26;-1:-1:-1;13291:21:26;;::::1;;13283:72;;;;-1:-1:-1::0;;;13283:72:26::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13380:10;13369:7;:21;;13361:72;;;;-1:-1:-1::0;;;13361:72:26::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9031:1;;;;12564:874:::0;;;;;;;;;;;:::o;8836:41::-;;;:::o;27364:238::-;27483:21;27521:76;27573:7;27582:8;27592:4;27521:51;:76::i;14837:752::-;15100:16;15118:14;15140:12;15155:67;15201:7;15210:5;15217:4;15155:45;:67::i;:::-;15140:82;;15228:10;15241;:33;;15265:9;15241:33;;;-1:-1:-1;;15241:33:26;15280:149;;;-1:-1:-1;;;15280:149:26;;15336:10;15280:149;;;;15362:4;15280:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15228:46;;-1:-1:-1;;;;;;15280:48:26;;;;;:149;;;;;-1:-1:-1;;15280:149:26;;;;;;;;-1:-1:-1;15280:48:26;:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15462:122;15488:5;15501:9;15518:14;15540:12;15560:2;15570:8;15462:18;:122::i;:::-;15435:149;;;;-1:-1:-1;14837:752:26;-1:-1:-1;;;;;;;;;;;;;14837:752:26:o;10652:839::-;10924:12;10944;10964:14;10894:8;8981:15;8969:8;:27;;8961:64;;;;;-1:-1:-1;;;8961:64:26;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8961:64:26;;;;;;;;;;;;;;;11014:127:::1;11035:6;11049;11063:14;11085;11107:10;11125;11014:13;:127::i;:::-;10993:148:::0;;-1:-1:-1;10993:148:26;-1:-1:-1;11147:12:26::1;11162:70;11208:7;11217:6:::0;11225;11162:45:::1;:70::i;:::-;11147:85;;11238:87;11291:6;11299:10;11311:4;11317:7;11238:52;:87::i;:::-;11331;11384:6;11392:10;11404:4;11410:7;11331:52;:87::i;:::-;11472:4;-1:-1:-1::0;;;;;11436:46:26::1;;11483:2;11436:50;;;;;;;;;;;;;-1:-1:-1::0;;;;;11436:50:26::1;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;11436:50:26;10652:839;;;;-1:-1:-1;11436:50:26;;-1:-1:-1;10652:839:26;;-1:-1:-1;;;;;;;;;10652:839:26:o;11495:1033::-;11746:16;11770:14;11792;11716:8;8981:15;8969:8;:27;;8961:64;;;;;-1:-1:-1;;;8961:64:26;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8961:64:26;;;;;;;;;;;;;;;11848:129:::1;11869:5;11882:4;11894:18;11920:9;11937:14;11959:12;11848:13;:129::i;:::-;11821:156:::0;;-1:-1:-1;11821:156:26;-1:-1:-1;11983:12:26::1;11998:67;12044:7;12053:5:::0;12060:4:::1;11998:45;:67::i;:::-;11983:82;;12071:90;12124:5;12131:10;12143:4;12149:11;12071:52;:90::i;:::-;12194:4;-1:-1:-1::0;;;;;12167:40:26::1;;12215:9;12167:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;12267:4;-1:-1:-1::0;;;;;12240:41:26::1;;12282:4;12288:9;12240:58;;;;;;;;;;;;;-1:-1:-1::0;;;;;12240:58:26::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;12240:58:26;12233:66:::1;;;;12353:4;-1:-1:-1::0;;;;;12317:46:26::1;;12364:2;12317:50;;;;;;;;;;;;;-1:-1:-1::0;;;;;12317:50:26::1;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;12317:50:26;;-1:-1:-1;12408:9:26::1;:21:::0;-1:-1:-1;12404:119:26::1;;;12437:86;12489:10;12513:9;12501;:21;12437:51;:86::i;:::-;9031:1;11495:1033:::0;;;;;;;;;;;:::o;21895:875::-;22074:21;22055:8;8981:15;8969:8;:27;;8961:64;;;;;-1:-1:-1;;;8961:64:26;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;8961:64:26;;;;;;;;;;;;;;;22122:4:::1;-1:-1:-1::0;;;;;22111:15:26::1;:4;;22116:1;22111:7;;;;;;;;;;;;;-1:-1:-1::0;;;;;22111:7:26::1;-1:-1:-1::0;;;;;22111:15:26::1;;22103:57;;;::::0;;-1:-1:-1;;;22103:57:26;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;;;;;;;22103:57:26;;;;;;;;;;;;;::::1;;22176:76;22227:7;22236:9;22247:4;;22176:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;22176:50:26::1;::::0;-1:-1:-1;;;22176:76:26:i:1;:::-;22166:86;;22280:9;22266:7;22274:1;22266:10;;;;;;;;;;;;;;:23;;22258:75;;;;-1:-1:-1::0;;;22258:75:26::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22366:4;-1:-1:-1::0;;;;;22339:40:26::1;;22387:7;22395:1;22387:10;;;;;;;;;;;;;;22339:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;22447:4;-1:-1:-1::0;;;;;22420:41:26::1;;22471:72;22517:7;22526:4;;22531:1;22526:7;;;;;;22471:72;22553:7;22561:1;22553:10;;;;;;;;;;;;;;22420:151;;;;;;;;;;;;;-1:-1:-1::0;;;;;22420:151:26::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;22420:151:26;22406:171:::1;;;;22583:24;22589:7;22598:4;;22583:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;22604:2:26;;-1:-1:-1;22583:5:26::1;::::0;-1:-1:-1;;22583:24:26:i:1;:::-;22660:7;22668:1;22660:10;;;;;;;;;;;;;;22648:9;:22;22644:121;;;22678:87;22730:10;22754:7;22762:1;22754:10;;;;;;;;;;;;;;22742:9;:22;22678:51;:87::i;33267:398::-:0;33468:45;;;-1:-1:-1;;;;;33468:45:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;33468:45:26;-1:-1:-1;;;33468:45:26;;;33457:57;;;;33422:12;;33436:17;;33457:10;;;;33468:45;33457:57;;;33468:45;33457:57;;33468:45;33457:57;;;;;;;;;;-1:-1:-1;;33457:57:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33421:93;;;;33535:7;:57;;;;-1:-1:-1;33547:11:26;;:16;;:44;;;33578:4;33567:24;;;;;;;;;;;;;;;-1:-1:-1;33567:24:26;33547:44;33520:140;;;;-1:-1:-1;;;33520:140:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33267:398;;;;;:::o;34122:205::-;34227:12;;;34187;34227;;;;;;;;;-1:-1:-1;;;;;34205:7:26;;;34220:5;;34205:35;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;34205:35:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34186:54;;;34254:7;34246:76;;;;-1:-1:-1;;;34246:76:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34122:205;;;:::o;30329:560::-;30438:14;30479:1;30468:8;:12;30460:89;;;;-1:-1:-1;;;30460:89:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30582:1;30570:9;:13;:31;;;;;30600:1;30587:10;:14;30570:31;30555:123;;;;-1:-1:-1;;;30555:123:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30684:20;30707:17;:8;30720:3;30707:12;:17::i;:::-;30684:40;-1:-1:-1;30730:14:26;30747:31;30684:40;30767:10;30747:19;:31::i;:::-;30730:48;-1:-1:-1;30784:16:26;30803:40;30827:15;30803:19;:9;30817:4;30803:13;:19::i;:::-;:23;;:40::i;:::-;30784:59;;30873:11;30861:9;:23;;;;;;;30329:560;-1:-1:-1;;;;;;;30329:560:26:o;31598:506::-;31715:21;31767:1;31752:4;:11;:16;;31744:80;;;;-1:-1:-1;;;31744:80:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31851:4;:11;31840:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;31840:23:26;;31830:33;;31882:8;31869:7;31877:1;31869:10;;;;;;;;;;;;;:21;;;;;31901:6;31896:204;31927:1;31913:4;:11;:15;31909:1;:19;31896:204;;;31944:14;31960:15;31979:42;31991:7;32000:4;32005:1;32000:7;;;;;;;;;;;;;;32009:4;32014:1;32018;32014:5;32009:11;;;;;;;;;;;;;;31979;:42::i;:::-;31943:78;;;;32046:47;32059:7;32067:1;32059:10;;;;;;;;;;;;;;32071:9;32082:10;32046:12;:47::i;:::-;32029:7;32037:1;32041;32037:5;32029:14;;;;;;;;;;;;;;;;;:64;-1:-1:-1;;31930:3:26;;31896:204;;;;31598:506;;;;;:::o;29052:208::-;29157:12;29223:7;-1:-1:-1;;;;;29184:55:26;;29240:6;29248;29184:71;;;;;;;;;;;;;-1:-1:-1;;;;;29184:71:26;;;;;;-1:-1:-1;;;;;29184:71:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29184:71:26;;29052:208;-1:-1:-1;;;;29052:208:26:o;33669:449::-;33910:51;;;-1:-1:-1;;;;;33910:51:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;33910:51:26;-1:-1:-1;;;33910:51:26;;;33899:63;;;;33858:12;;33872:17;;33899:10;;;;33910:51;33899:63;;;33910:51;33899:63;;33910:51;33899:63;;;;;;;;;;-1:-1:-1;;33899:63:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33857:105;;;;33983:7;:57;;;;-1:-1:-1;33995:11:26;;:16;;:44;;;34026:4;34015:24;;;;;;;;;;;;;;;-1:-1:-1;34015:24:26;33995:44;33968:145;;;;-1:-1:-1;;;33968:145:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33669:449;;;;;;:::o;17220:810::-;17338:6;17333:693;17364:1;17350:4;:11;:15;17346:1;:19;17333:693;;;17381:13;17396:14;17415:4;17420:1;17415:7;;;;;;;;;;;;;;17424:4;17429:1;17433;17429:5;17424:11;;;;;;;;;;;;;;17380:56;;;;17445:14;17465:63;17514:5;17521:6;17465:48;:63::i;:::-;17444:84;;;17536:14;17553:7;17561:1;17565;17561:5;17553:14;;;;;;;;;;;;;;17536:31;;17576:15;17593;17629:6;-1:-1:-1;;;;;17620:15:26;:5;-1:-1:-1;;;;;17620:15:26;;:61;;17662:9;17678:1;17620:61;;;17644:1;17648:9;17620:61;17575:106;;;;17689:10;17728:1;17714:4;:11;:15;17710:1;:19;:123;;17830:3;17710:123;;;17742:75;17788:7;17797:6;17805:4;17810:1;17814;17810:5;17805:11;;;;;;;;;;;;;;17742:45;:75::i;:::-;17689:144;;17886:69;17932:7;17941:5;17948:6;17886:45;:69::i;:::-;-1:-1:-1;;;;;17841:136:26;;17978:10;17990;18002:2;18016:1;18006:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18006:12:26;;17841:178;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17841:178:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17367:3:26;;;;;-1:-1:-1;17333:693:26;;-1:-1:-1;;;;;;;;17333:693:26;;;17220:810;;;:::o;32178:527::-;32295:21;32347:1;32332:4;:11;:16;;32324:80;;;;-1:-1:-1;;;32324:80:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;32431:4;:11;32420:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;32420:23:26;;32410:33;;32479:9;32449:7;32474:1;32457:7;:14;:18;32449:27;;;;;;;;;;;;;;;;;:39;32508:11;;-1:-1:-1;;32508:15:26;32494:207;32525:5;;32494:207;;32546:14;32562:15;32581:42;32593:7;32602:4;32611:1;32607;:5;32602:11;;;;;;;;;;;;;;32615:4;32620:1;32615:7;;;;;;;32581:42;32545:78;;;;32648:46;32660:7;32668:1;32660:10;;;;;;;;;;;;;;32672:9;32683:10;32648:11;:46::i;:::-;32631:7;32643:1;32639;:5;32631:14;;;;;;;;;;;;;;;;;:63;-1:-1:-1;;;;32532:3:26;32494:207;;22907:1361;23015:6;23010:1254;23041:1;23027:4;:11;:15;23023:1;:19;23010:1254;;;23058:13;23073:14;23092:4;23097:1;23092:7;;;;;;;;;;;;;;23101:4;23106:1;23110;23106:5;23101:11;;;;;;;;;;;;;;23057:56;;;;23122:14;23142:63;23191:5;23198:6;23142:48;:63::i;:::-;23121:84;;;23213:40;23311:69;23357:7;23366:5;23373:6;23311:45;:69::i;:::-;23213:177;;23398:16;23422:17;23506:13;23521;23540:4;-1:-1:-1;;;;;23540:16:26;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23540:18:26;;;;;;;-1:-1:-1;;;;;23505:53:26;;;;-1:-1:-1;23505:53:26;;-1:-1:-1;23569:17:26;;-1:-1:-1;;;;;23620:15:26;;;;;;;:61;;23662:8;23672;23620:61;;;23639:8;23649;23620:61;23568:113;;;;23705:56;23748:12;23712:5;-1:-1:-1;;;;;23705:23:26;;23737:4;23705:38;;;;;;;;;;;;;-1:-1:-1;;;;;23705:38:26;;;;;;;;;;;;;;;;;;;;;;;;;;:56;23691:70;;23786:132;23848:11;23871:12;23895:13;23786:50;:132::i;:::-;23771:147;;23010:1254;;;;23935:15;23952;23988:6;-1:-1:-1;;;;;23979:15:26;:5;-1:-1:-1;;;;;23979:15:26;;:67;;24024:12;24043:1;23979:67;;;24003:1;24007:12;23979:67;23934:112;;;;24054:10;24093:1;24079:4;:11;:15;24075:1;:19;:123;;24195:3;24075:123;;;24107:75;24153:7;24162:6;24170:4;24175:1;24179;24175:5;24170:11;;;;;;;24107:75;24244:12;;;24254:1;24244:12;;;;;;;;;;-1:-1:-1;;;24206:51:26;;;;;;;;;;;;;;-1:-1:-1;;;;;24206:51:26;;;;;;;;;;;;;;;;;;;;;;24054:144;;-1:-1:-1;24206:9:26;;;;;;24216:10;;24228;;24054:144;;24244:12;;24206:51;;;;;;;;24244:12;;24206:51;;;;24244:12;;24206:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;23044:3:26;;;;;-1:-1:-1;23010:1254:26;;-1:-1:-1;;;;;;;;;;23010:1254:26;28120:121;28199:5;;;28194:16;;;;28186:50;;;;;-1:-1:-1;;;28186:50:26;;;;;;;;;;;;-1:-1:-1;;;28186:50:26;;;;;;;;;;;;;;31003:520;31112:13;31153:1;31141:9;:13;31133:91;;;;-1:-1:-1;;;31133:91:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31257:1;31245:9;:13;:31;;;;;31275:1;31262:10;:14;31245:31;31230:123;;;;-1:-1:-1;;;31230:123:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31359:14;31376:34;31405:4;31376:24;:9;31390;31376:13;:24::i;:::-;:28;;:34::i;:::-;31359:51;-1:-1:-1;31416:16:26;31435:34;31465:3;31435:25;:10;31450:9;31435:14;:25::i;:34::-;31416:53;;31486:32;31516:1;31499:11;31487:9;:23;;;;;;;31486:29;:32::i;:::-;31475:43;31003:520;-1:-1:-1;;;;;;31003:520:26:o;29835:379::-;29933:12;29971:1;29961:7;:11;29953:82;;;;-1:-1:-1;;;29953:82:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30067:1;30056:8;:12;:28;;;;;30083:1;30072:8;:12;30056:28;30041:120;;;;-1:-1:-1;;;30041:120:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30201:8;30177:21;:7;30189:8;30177:11;:21::i;:::-;:32;;;;;;;29835:379;-1:-1:-1;;;;29835:379:26:o;28580:387::-;28667:14;28683;28725:6;-1:-1:-1;;;;;28715:16:26;:6;-1:-1:-1;;;;;28715:16:26;;;28707:87;;;;-1:-1:-1;;;28707:87:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28828:6;-1:-1:-1;;;;;28819:15:26;:6;-1:-1:-1;;;;;28819:15:26;;:53;;28857:6;28865;28819:53;;;28838:6;28846;28819:53;28800:72;;-1:-1:-1;28800:72:26;-1:-1:-1;;;;;;28886:20:26;;28878:84;;;;-1:-1:-1;;;28878:84:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28580:387;;;;;:::o;9296:1352::-;9481:12;9495;9649:1;-1:-1:-1;;;;;9566:85:26;9605:7;-1:-1:-1;;;;;9566:55:26;;9622:6;9630;9566:71;;;;;;;;;;;;;-1:-1:-1;;;;;9566:71:26;;;;;;-1:-1:-1;;;;;9566:71:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9566:71:26;-1:-1:-1;;;;;9566:85:26;;9562:180;;;9700:7;-1:-1:-1;;;;;9661:58:26;;9720:6;9728;9661:74;;;;;;;;;;;;;-1:-1:-1;;;;;9661:74:26;;;;;;-1:-1:-1;;;;;9661:74:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9562:180:26;9748:13;9763;9786:74;9836:7;9845:6;9853;9786:49;:74::i;:::-;9747:113;;;;9870:8;9882:1;9870:13;:30;;;;-1:-1:-1;9887:13:26;;9870:30;9866:778;;;9932:14;;-1:-1:-1;9948:14:26;;-1:-1:-1;9866:778:26;;;9984:19;10014:79;10058:14;10074:8;10084;10014:43;:79::i;:::-;9984:109;;10123:14;10105;:32;10101:537;;10175:10;10157:14;:28;;10149:79;;;;-1:-1:-1;;;10149:79:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10260:14;;-1:-1:-1;10276:14:26;-1:-1:-1;10276:14:26;10101:537;;;10316:19;10348:79;10392:14;10408:8;10418;10348:43;:79::i;:::-;10316:111;;10462:14;10444;:32;;10437:40;;;;10513:10;10495:14;:28;;10487:79;;;;-1:-1:-1;;;10487:79:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10598:14;-1:-1:-1;10614:14:26;;-1:-1:-1;10101:537:26;9866:778;;9296:1352;;;;;;;;;;;:::o;28245:134::-;28297:6;28319;;;:30;;-1:-1:-1;;28334:5:26;;;28348:1;28343;28334:5;28343:1;28329:15;;;;;:20;28319:30;28311:63;;;;;-1:-1:-1;;;28311:63:26;;;;;;;;;;;;-1:-1:-1;;;28311:63:26;;;;;;;;;;;;;;27996:120;28075:5;;;28070:16;;;;28062:49;;;;;-1:-1:-1;;;28062:49:26;;;;;;;;;;;;-1:-1:-1;;;28062:49:26;;;;;;;;;;;;;;29311:418;29420:13;29435;29457:14;29477:26;29488:6;29496;29477:10;:26::i;:::-;29456:47;;;29510:13;29525;29586:32;29594:7;29603:6;29611;29586:7;:32::i;:::-;-1:-1:-1;;;;;29550:81:26;;:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29550:83:26;;;;;;;-1:-1:-1;;;;;29509:124:26;;;;-1:-1:-1;29509:124:26;;-1:-1:-1;;;;;;29662:16:26;;;;;;;:62;;29705:8;29715;29662:62;;;29682:8;29692;29662:62;29639:85;;;;-1:-1:-1;29311:418:26;-1:-1:-1;;;;;;;29311:418:26:o",
  "language": "Solidity",
  "natspec": {
    "kind": "dev",
    "methods": {},
    "version": 1
  },
  "offset": [
    8709,
    27846
  ],
  "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x14F JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8803DBEE GT PUSH2 0xB6 JUMPI DUP1 PUSH4 0xC45A0155 GT PUSH2 0x6F JUMPI DUP1 PUSH4 0xC45A0155 EQ PUSH2 0xA10 JUMPI DUP1 PUSH4 0xD06CA61F EQ PUSH2 0xA25 JUMPI DUP1 PUSH4 0xDED9382A EQ PUSH2 0xADA JUMPI DUP1 PUSH4 0xE8E33700 EQ PUSH2 0xB4D JUMPI DUP1 PUSH4 0xF305D719 EQ PUSH2 0xBCD JUMPI DUP1 PUSH4 0xFB3BDB41 EQ PUSH2 0xC13 JUMPI PUSH2 0x188 JUMP JUMPDEST DUP1 PUSH4 0x8803DBEE EQ PUSH2 0x7DF JUMPI DUP1 PUSH4 0xAD5C4648 EQ PUSH2 0x875 JUMPI DUP1 PUSH4 0xAD615DEC EQ PUSH2 0x8A6 JUMPI DUP1 PUSH4 0xAF2979EB EQ PUSH2 0x8DC JUMPI DUP1 PUSH4 0xB6F9DE95 EQ PUSH2 0x92F JUMPI DUP1 PUSH4 0xBAA2ABDE EQ PUSH2 0x9B3 JUMPI PUSH2 0x188 JUMP JUMPDEST DUP1 PUSH4 0x4A25D94A GT PUSH2 0x108 JUMPI DUP1 PUSH4 0x4A25D94A EQ PUSH2 0x4F0 JUMPI DUP1 PUSH4 0x5B0D5984 EQ PUSH2 0x586 JUMPI DUP1 PUSH4 0x5C11D795 EQ PUSH2 0x5F9 JUMPI DUP1 PUSH4 0x791AC947 EQ PUSH2 0x68F JUMPI DUP1 PUSH4 0x7FF36AB5 EQ PUSH2 0x725 JUMPI DUP1 PUSH4 0x85F8C259 EQ PUSH2 0x7A9 JUMPI PUSH2 0x188 JUMP JUMPDEST DUP1 PUSH4 0x2751CEC EQ PUSH2 0x18D JUMPI DUP1 PUSH4 0x54D50D4 EQ PUSH2 0x1F9 JUMPI DUP1 PUSH4 0x18CBAFE5 EQ PUSH2 0x241 JUMPI DUP1 PUSH4 0x1F00CA74 EQ PUSH2 0x327 JUMPI DUP1 PUSH4 0x2195995C EQ PUSH2 0x3DC JUMPI DUP1 PUSH4 0x38ED1739 EQ PUSH2 0x45A JUMPI PUSH2 0x188 JUMP JUMPDEST CALLDATASIZE PUSH2 0x188 JUMPI CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x186 JUMPI INVALID JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x199 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E0 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0xC0 DUP2 LT ISZERO PUSH2 0x1B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP2 PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP2 PUSH1 0x80 DUP3 ADD CALLDATALOAD AND SWAP1 PUSH1 0xA0 ADD CALLDATALOAD PUSH2 0xC97 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x205 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x22F PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x21C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0xDB1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x24D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2D7 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0x264 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP2 DUP2 ADD SWAP1 PUSH1 0x60 DUP2 ADD PUSH1 0x40 DUP3 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SHL DUP2 GT ISZERO PUSH2 0x28A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x29C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x20 DUP4 MUL DUP5 ADD GT PUSH1 0x1 PUSH1 0x20 SHL DUP4 GT OR ISZERO PUSH2 0x2BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP4 POP SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0xDC6 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 MSTORE DUP4 MLOAD DUP2 DUP4 ADD MSTORE DUP4 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP4 ADD SWAP2 DUP6 DUP2 ADD SWAP2 MUL DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x313 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x2FB JUMP JUMPDEST POP POP POP POP SWAP1 POP ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x333 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2D7 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x34A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH1 0x40 DUP2 ADD PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SHL DUP2 GT ISZERO PUSH2 0x36B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x37D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x20 DUP4 MUL DUP5 ADD GT PUSH1 0x1 PUSH1 0x20 SHL DUP4 GT OR ISZERO PUSH2 0x39E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 PUSH1 0x20 MUL DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP SWAP3 SWAP6 POP PUSH2 0x10F3 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E0 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH2 0x160 DUP2 LT ISZERO PUSH2 0x400 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD DUP3 AND SWAP2 PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP2 PUSH1 0x80 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0xA0 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0xC0 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0xE0 DUP2 ADD CALLDATALOAD ISZERO ISZERO SWAP1 PUSH1 0xFF PUSH2 0x100 DUP3 ADD CALLDATALOAD AND SWAP1 PUSH2 0x120 DUP2 ADD CALLDATALOAD SWAP1 PUSH2 0x140 ADD CALLDATALOAD PUSH2 0x1129 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x466 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2D7 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0x47D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP2 DUP2 ADD SWAP1 PUSH1 0x60 DUP2 ADD PUSH1 0x40 DUP3 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SHL DUP2 GT ISZERO PUSH2 0x4A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x4B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x20 DUP4 MUL DUP5 ADD GT PUSH1 0x1 PUSH1 0x20 SHL DUP4 GT OR ISZERO PUSH2 0x4D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP4 POP SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x1223 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2D7 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0x513 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP2 DUP2 ADD SWAP1 PUSH1 0x60 DUP2 ADD PUSH1 0x40 DUP3 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SHL DUP2 GT ISZERO PUSH2 0x539 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x54B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x20 DUP4 MUL DUP5 ADD GT PUSH1 0x1 PUSH1 0x20 SHL DUP4 GT OR ISZERO PUSH2 0x56C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP4 POP SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x136E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x592 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x22F PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH2 0x140 DUP2 LT ISZERO PUSH2 0x5AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP2 PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP2 PUSH1 0x80 DUP3 ADD CALLDATALOAD AND SWAP1 PUSH1 0xA0 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0xC0 DUP2 ADD CALLDATALOAD ISZERO ISZERO SWAP1 PUSH1 0xFF PUSH1 0xE0 DUP3 ADD CALLDATALOAD AND SWAP1 PUSH2 0x100 DUP2 ADD CALLDATALOAD SWAP1 PUSH2 0x120 ADD CALLDATALOAD PUSH2 0x14FA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x605 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x186 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0x61C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP2 DUP2 ADD SWAP1 PUSH1 0x60 DUP2 ADD PUSH1 0x40 DUP3 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SHL DUP2 GT ISZERO PUSH2 0x642 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x654 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x20 DUP4 MUL DUP5 ADD GT PUSH1 0x1 PUSH1 0x20 SHL DUP4 GT OR ISZERO PUSH2 0x675 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP4 POP SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x1608 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x69B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x186 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0x6B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP2 DUP2 ADD SWAP1 PUSH1 0x60 DUP2 ADD PUSH1 0x40 DUP3 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SHL DUP2 GT ISZERO PUSH2 0x6D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x6EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x20 DUP4 MUL DUP5 ADD GT PUSH1 0x1 PUSH1 0x20 SHL DUP4 GT OR ISZERO PUSH2 0x70B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP4 POP SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x1885 JUMP JUMPDEST PUSH2 0x2D7 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x80 DUP2 LT ISZERO PUSH2 0x73B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH1 0x40 DUP2 ADD PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SHL DUP2 GT ISZERO PUSH2 0x75C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x76E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x20 DUP4 MUL DUP5 ADD GT PUSH1 0x1 PUSH1 0x20 SHL DUP4 GT OR ISZERO PUSH2 0x78F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP4 POP SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x1B0E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x22F PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x7CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0x1E58 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2D7 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0x802 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP2 DUP2 ADD SWAP1 PUSH1 0x60 DUP2 ADD PUSH1 0x40 DUP3 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SHL DUP2 GT ISZERO PUSH2 0x828 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x83A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x20 DUP4 MUL DUP5 ADD GT PUSH1 0x1 PUSH1 0x20 SHL DUP4 GT OR ISZERO PUSH2 0x85B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP4 POP SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x1E65 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x881 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x88A PUSH2 0x1F5E JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x22F PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x8C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0x1F82 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x22F PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0xC0 DUP2 LT ISZERO PUSH2 0x8FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP2 PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP2 PUSH1 0x80 DUP3 ADD CALLDATALOAD AND SWAP1 PUSH1 0xA0 ADD CALLDATALOAD PUSH2 0x1F8F JUMP JUMPDEST PUSH2 0x186 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x80 DUP2 LT ISZERO PUSH2 0x945 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH1 0x40 DUP2 ADD PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SHL DUP2 GT ISZERO PUSH2 0x966 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x978 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x20 DUP4 MUL DUP5 ADD GT PUSH1 0x1 PUSH1 0x20 SHL DUP4 GT OR ISZERO PUSH2 0x999 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP4 POP SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x2115 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E0 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0xE0 DUP2 LT ISZERO PUSH2 0x9D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD DUP3 AND SWAP2 PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP2 PUSH1 0x80 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0xA0 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0xC0 ADD CALLDATALOAD PUSH2 0x2486 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA1C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x88A PUSH2 0x26CA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA31 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2D7 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xA48 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH1 0x40 DUP2 ADD PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SHL DUP2 GT ISZERO PUSH2 0xA69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0xA7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x20 DUP4 MUL DUP5 ADD GT PUSH1 0x1 PUSH1 0x20 SHL DUP4 GT OR ISZERO PUSH2 0xA9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 PUSH1 0x20 MUL DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP SWAP3 SWAP6 POP PUSH2 0x26EE SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E0 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH2 0x140 DUP2 LT ISZERO PUSH2 0xAFE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP2 PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP2 PUSH1 0x80 DUP3 ADD CALLDATALOAD AND SWAP1 PUSH1 0xA0 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0xC0 DUP2 ADD CALLDATALOAD ISZERO ISZERO SWAP1 PUSH1 0xFF PUSH1 0xE0 DUP3 ADD CALLDATALOAD AND SWAP1 PUSH2 0x100 DUP2 ADD CALLDATALOAD SWAP1 PUSH2 0x120 ADD CALLDATALOAD PUSH2 0x271B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB59 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBAF PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH2 0x100 DUP2 LT ISZERO PUSH2 0xB71 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD DUP3 AND SWAP2 PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP2 PUSH1 0x80 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0xA0 DUP2 ADD CALLDATALOAD SWAP2 PUSH1 0xC0 DUP3 ADD CALLDATALOAD AND SWAP1 PUSH1 0xE0 ADD CALLDATALOAD PUSH2 0x282F JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP3 DUP3 ADD MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x60 ADD SWAP1 RETURN JUMPDEST PUSH2 0xBAF PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0xC0 DUP2 LT ISZERO PUSH2 0xBE3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP2 PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP2 PUSH1 0x80 DUP3 ADD CALLDATALOAD AND SWAP1 PUSH1 0xA0 ADD CALLDATALOAD PUSH2 0x2962 JUMP JUMPDEST PUSH2 0x2D7 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x80 DUP2 LT ISZERO PUSH2 0xC29 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH1 0x40 DUP2 ADD PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x20 SHL DUP2 GT ISZERO PUSH2 0xC4A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0xC5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x20 DUP4 MUL DUP5 ADD GT PUSH1 0x1 PUSH1 0x20 SHL DUP4 GT OR ISZERO PUSH2 0xC7D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP4 POP SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x2BF5 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 TIMESTAMP DUP2 LT ISZERO PUSH2 0xCDE JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x45B6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0xD0D DUP10 PUSH32 0x0 DUP11 DUP11 DUP11 ADDRESS DUP11 PUSH2 0x2486 JUMP JUMPDEST SWAP1 SWAP4 POP SWAP2 POP PUSH2 0xD1D DUP10 DUP7 DUP6 PUSH2 0x2F6E JUMP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2E1A7D4D DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD83 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xD97 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0xDA5 DUP6 DUP4 PUSH2 0x30C2 JUMP JUMPDEST POP SWAP7 POP SWAP7 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDBE DUP5 DUP5 DUP5 PUSH2 0x31BA JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 TIMESTAMP DUP2 LT ISZERO PUSH2 0xE0C JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x45B6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND DUP7 DUP7 PUSH1 0x0 NOT DUP2 ADD DUP2 DUP2 LT PUSH2 0xE46 JUMPI INVALID JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xE9F JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4464 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0xEFD PUSH32 0x0 DUP10 DUP9 DUP9 DUP1 DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 PUSH1 0x20 MUL DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x3292 SWAP3 POP POP POP JUMP JUMPDEST SWAP2 POP DUP7 DUP3 PUSH1 0x1 DUP5 MLOAD SUB DUP2 MLOAD DUP2 LT PUSH2 0xF10 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD LT ISZERO PUSH2 0xF55 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x2B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4551 PUSH1 0x2B SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xFF3 DUP7 DUP7 PUSH1 0x0 DUP2 DUP2 LT PUSH2 0xF65 JUMPI INVALID JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH2 0xFD9 PUSH32 0x0 DUP11 DUP11 PUSH1 0x0 DUP2 DUP2 LT PUSH2 0xFA7 JUMPI INVALID JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP12 DUP12 PUSH1 0x1 DUP2 DUP2 LT PUSH2 0xFC4 JUMPI INVALID JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x33C8 JUMP JUMPDEST DUP6 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0xFE6 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x345C JUMP JUMPDEST PUSH2 0x1032 DUP3 DUP8 DUP8 DUP1 DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 PUSH1 0x20 MUL DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP ADDRESS SWAP3 POP PUSH2 0x35B9 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2E1A7D4D DUP4 PUSH1 0x1 DUP6 MLOAD SUB DUP2 MLOAD DUP2 LT PUSH2 0x1071 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x10AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x10C3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x10E8 DUP5 DUP4 PUSH1 0x1 DUP6 MLOAD SUB DUP2 MLOAD DUP2 LT PUSH2 0x10DB JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x30C2 JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1120 PUSH32 0x0 DUP5 DUP5 PUSH2 0x37F6 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x1159 PUSH32 0x0 DUP16 DUP16 PUSH2 0x33C8 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP8 PUSH2 0x1168 JUMPI DUP13 PUSH2 0x116C JUMP JUMPDEST PUSH1 0x0 NOT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH4 0xD505ACCF PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x64 DUP2 ADD DUP13 SWAP1 MSTORE PUSH1 0xFF DUP11 AND PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0xC4 DUP2 ADD DUP9 SWAP1 MSTORE SWAP1 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP2 PUSH4 0xD505ACCF SWAP2 PUSH1 0xE4 DUP1 DUP3 ADD SWAP3 PUSH1 0x0 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP4 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x11E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x11F6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x1209 DUP16 DUP16 DUP16 DUP16 DUP16 DUP16 DUP16 PUSH2 0x2486 JUMP JUMPDEST DUP1 SWAP5 POP DUP2 SWAP6 POP POP POP POP POP SWAP12 POP SWAP12 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 TIMESTAMP DUP2 LT ISZERO PUSH2 0x1269 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x45B6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0x12C7 PUSH32 0x0 DUP10 DUP9 DUP9 DUP1 DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 PUSH1 0x20 MUL DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x3292 SWAP3 POP POP POP JUMP JUMPDEST SWAP2 POP DUP7 DUP3 PUSH1 0x1 DUP5 MLOAD SUB DUP2 MLOAD DUP2 LT PUSH2 0x12DA JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD LT ISZERO PUSH2 0x131F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x2B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4551 PUSH1 0x2B SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x132F DUP7 DUP7 PUSH1 0x0 DUP2 DUP2 LT PUSH2 0xF65 JUMPI INVALID JUMPDEST PUSH2 0x10E8 DUP3 DUP8 DUP8 DUP1 DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 PUSH1 0x20 MUL DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP10 SWAP3 POP PUSH2 0x35B9 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 TIMESTAMP DUP2 LT ISZERO PUSH2 0x13B4 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x45B6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND DUP7 DUP7 PUSH1 0x0 NOT DUP2 ADD DUP2 DUP2 LT PUSH2 0x13EE JUMPI INVALID JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1447 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4464 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0x14A5 PUSH32 0x0 DUP10 DUP9 DUP9 DUP1 DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 PUSH1 0x20 MUL DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x37F6 SWAP3 POP POP POP JUMP JUMPDEST SWAP2 POP DUP7 DUP3 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x14B5 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT ISZERO PUSH2 0xF55 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x443D PUSH1 0x27 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1548 PUSH32 0x0 DUP14 PUSH32 0x0 PUSH2 0x33C8 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP7 PUSH2 0x1557 JUMPI DUP12 PUSH2 0x155B JUMP JUMPDEST PUSH1 0x0 NOT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH4 0xD505ACCF PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x64 DUP2 ADD DUP12 SWAP1 MSTORE PUSH1 0xFF DUP10 AND PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0xC4 DUP2 ADD DUP8 SWAP1 MSTORE SWAP1 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP2 PUSH4 0xD505ACCF SWAP2 PUSH1 0xE4 DUP1 DUP3 ADD SWAP3 PUSH1 0x0 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP4 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x15E5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x15F7 DUP14 DUP14 DUP14 DUP14 DUP14 DUP14 PUSH2 0x1F8F JUMP JUMPDEST SWAP14 SWAP13 POP POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP1 TIMESTAMP DUP2 LT ISZERO PUSH2 0x164C JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x45B6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0x16C1 DUP6 DUP6 PUSH1 0x0 DUP2 DUP2 LT PUSH2 0x165C JUMPI INVALID JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH2 0x16BB PUSH32 0x0 DUP10 DUP10 PUSH1 0x0 DUP2 DUP2 LT PUSH2 0x169E JUMPI INVALID JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP11 DUP11 PUSH1 0x1 DUP2 DUP2 LT PUSH2 0xFC4 JUMPI INVALID JUMPDEST DUP11 PUSH2 0x345C JUMP JUMPDEST PUSH1 0x0 DUP6 DUP6 PUSH1 0x0 NOT DUP2 ADD DUP2 DUP2 LT PUSH2 0x16D3 JUMPI INVALID JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x70A08231 DUP6 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x172F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1743 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1759 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP9 DUP2 MUL DUP3 DUP2 ADD DUP3 ADD SWAP1 SWAP4 MSTORE DUP9 DUP3 MSTORE SWAP3 SWAP4 POP PUSH2 0x179B SWAP3 SWAP1 SWAP2 DUP10 SWAP2 DUP10 SWAP2 DUP3 SWAP2 DUP6 ADD SWAP1 DUP5 SWAP1 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP9 SWAP3 POP PUSH2 0x3918 SWAP2 POP POP JUMP JUMPDEST DUP7 PUSH2 0x183E DUP3 DUP9 DUP9 PUSH1 0x0 NOT DUP2 ADD DUP2 DUP2 LT PUSH2 0x17B0 JUMPI INVALID JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x70A08231 DUP9 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x180C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1820 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1836 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 PUSH2 0x3C1A JUMP JUMPDEST LT ISZERO PUSH2 0x187B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x2B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4551 PUSH1 0x2B SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP1 TIMESTAMP DUP2 LT ISZERO PUSH2 0x18C9 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x45B6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND DUP6 DUP6 PUSH1 0x0 NOT DUP2 ADD DUP2 DUP2 LT PUSH2 0x1903 JUMPI INVALID JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x195C JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4464 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0x196C DUP6 DUP6 PUSH1 0x0 DUP2 DUP2 LT PUSH2 0x165C JUMPI INVALID JUMPDEST PUSH2 0x19AA DUP6 DUP6 DUP1 DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 PUSH1 0x20 MUL DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP ADDRESS SWAP3 POP PUSH2 0x3918 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1A19 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1A2D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1A43 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP DUP7 DUP2 LT ISZERO PUSH2 0x1A86 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x2B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4551 PUSH1 0x2B SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2E1A7D4D DUP3 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1AEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1B00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x187B DUP5 DUP3 PUSH2 0x30C2 JUMP JUMPDEST PUSH1 0x60 DUP2 TIMESTAMP DUP2 LT ISZERO PUSH2 0x1B54 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x45B6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 DUP7 PUSH1 0x0 DUP2 DUP2 LT PUSH2 0x1B8B JUMPI INVALID JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1BE4 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4464 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0x1C42 PUSH32 0x0 CALLVALUE DUP9 DUP9 DUP1 DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 PUSH1 0x20 MUL DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x3292 SWAP3 POP POP POP JUMP JUMPDEST SWAP2 POP DUP7 DUP3 PUSH1 0x1 DUP5 MLOAD SUB DUP2 MLOAD DUP2 LT PUSH2 0x1C55 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD LT ISZERO PUSH2 0x1C9A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x2B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4551 PUSH1 0x2B SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0E30DB0 DUP4 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1CD6 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1D09 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1D1D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xA9059CBB PUSH2 0x1D82 PUSH32 0x0 DUP10 DUP10 PUSH1 0x0 DUP2 DUP2 LT PUSH2 0x169E JUMPI INVALID JUMPDEST DUP5 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1D8F JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1DDD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1DF1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1E07 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH2 0x1E0F JUMPI INVALID JUMPDEST PUSH2 0x1E4E DUP3 DUP8 DUP8 DUP1 DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 PUSH1 0x20 MUL DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP10 SWAP3 POP PUSH2 0x35B9 SWAP2 POP POP JUMP JUMPDEST POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDBE DUP5 DUP5 DUP5 PUSH2 0x3C6A JUMP JUMPDEST PUSH1 0x60 DUP2 TIMESTAMP DUP2 LT ISZERO PUSH2 0x1EAB JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x45B6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0x1F09 PUSH32 0x0 DUP10 DUP9 DUP9 DUP1 DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 PUSH1 0x20 MUL DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x37F6 SWAP3 POP POP POP JUMP JUMPDEST SWAP2 POP DUP7 DUP3 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1F19 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT ISZERO PUSH2 0x131F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x443D PUSH1 0x27 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDBE DUP5 DUP5 DUP5 PUSH2 0x3D42 JUMP JUMPDEST PUSH1 0x0 DUP2 TIMESTAMP DUP2 LT ISZERO PUSH2 0x1FD5 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x45B6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0x2004 DUP9 PUSH32 0x0 DUP10 DUP10 DUP10 ADDRESS DUP10 PUSH2 0x2486 JUMP JUMPDEST SWAP1 POP DUP1 SWAP3 POP POP PUSH2 0x208D DUP9 DUP6 DUP11 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x205C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2070 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2086 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH2 0x2F6E JUMP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2E1A7D4D DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x20F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2107 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x10E8 DUP5 DUP4 PUSH2 0x30C2 JUMP JUMPDEST DUP1 TIMESTAMP DUP2 LT ISZERO PUSH2 0x2159 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x45B6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 DUP6 PUSH1 0x0 DUP2 DUP2 LT PUSH2 0x2190 JUMPI INVALID JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x21E9 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4464 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x0 CALLVALUE SWAP1 POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0E30DB0 DUP3 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2249 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x225D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xA9059CBB PUSH2 0x22C2 PUSH32 0x0 DUP10 DUP10 PUSH1 0x0 DUP2 DUP2 LT PUSH2 0x169E JUMPI INVALID JUMPDEST DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2309 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x231D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2333 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH2 0x233B JUMPI INVALID JUMPDEST PUSH1 0x0 DUP7 DUP7 PUSH1 0x0 NOT DUP2 ADD DUP2 DUP2 LT PUSH2 0x234D JUMPI INVALID JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x70A08231 DUP7 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x23A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x23BD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x23D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP10 DUP2 MUL DUP3 DUP2 ADD DUP3 ADD SWAP1 SWAP4 MSTORE DUP10 DUP3 MSTORE SWAP3 SWAP4 POP PUSH2 0x2415 SWAP3 SWAP1 SWAP2 DUP11 SWAP2 DUP11 SWAP2 DUP3 SWAP2 DUP6 ADD SWAP1 DUP5 SWAP1 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP10 SWAP3 POP PUSH2 0x3918 SWAP2 POP POP JUMP JUMPDEST DUP8 PUSH2 0x183E DUP3 DUP10 DUP10 PUSH1 0x0 NOT DUP2 ADD DUP2 DUP2 LT PUSH2 0x242A JUMPI INVALID JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x70A08231 DUP10 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x180C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP3 TIMESTAMP DUP2 LT ISZERO PUSH2 0x24CD JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x45B6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x24FA PUSH32 0x0 DUP13 DUP13 PUSH2 0x33C8 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x24 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x44 DUP3 ADD DUP14 SWAP1 MSTORE SWAP2 MLOAD SWAP3 SWAP4 POP SWAP1 SWAP2 PUSH4 0x23B872DD SWAP2 PUSH1 0x64 DUP1 DUP3 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2555 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2569 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x257F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD PUSH4 0x226BF2D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE DUP3 MLOAD PUSH1 0x0 SWAP4 DUP5 SWAP4 SWAP3 DUP7 AND SWAP3 PUSH4 0x89AFCB44 SWAP3 PUSH1 0x24 DUP1 DUP4 ADD SWAP4 SWAP3 DUP3 SWAP1 SUB ADD DUP2 DUP8 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x25CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x25E0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x25F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD SWAP1 SWAP3 POP SWAP1 POP PUSH1 0x0 PUSH2 0x2610 DUP15 DUP15 PUSH2 0x3DE8 JUMP JUMPDEST POP SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP15 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x2633 JUMPI DUP2 DUP4 PUSH2 0x2636 JUMP JUMPDEST DUP3 DUP3 JUMPDEST SWAP1 SWAP8 POP SWAP6 POP DUP11 DUP8 LT ISZERO PUSH2 0x267A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x452B PUSH1 0x26 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP10 DUP7 LT ISZERO PUSH2 0x26B9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4367 PUSH1 0x26 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP POP SWAP8 POP SWAP8 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1120 PUSH32 0x0 DUP5 DUP5 PUSH2 0x3292 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x276B PUSH32 0x0 DUP15 PUSH32 0x0 PUSH2 0x33C8 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP8 PUSH2 0x277A JUMPI DUP13 PUSH2 0x277E JUMP JUMPDEST PUSH1 0x0 NOT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH4 0xD505ACCF PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x64 DUP2 ADD DUP13 SWAP1 MSTORE PUSH1 0xFF DUP11 AND PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0xC4 DUP2 ADD DUP9 SWAP1 MSTORE SWAP1 MLOAD SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP2 PUSH4 0xD505ACCF SWAP2 PUSH1 0xE4 DUP1 DUP3 ADD SWAP3 PUSH1 0x0 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP4 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x27F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2808 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH2 0x281A DUP15 DUP15 DUP15 DUP15 DUP15 DUP15 PUSH2 0xC97 JUMP JUMPDEST SWAP1 SWAP16 SWAP1 SWAP15 POP SWAP13 POP POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 TIMESTAMP DUP2 LT ISZERO PUSH2 0x2878 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x45B6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0x2886 DUP13 DUP13 DUP13 DUP13 DUP13 DUP13 PUSH2 0x3EB0 JUMP JUMPDEST SWAP1 SWAP5 POP SWAP3 POP PUSH1 0x0 PUSH2 0x28B8 PUSH32 0x0 DUP15 DUP15 PUSH2 0x33C8 JUMP JUMPDEST SWAP1 POP PUSH2 0x28C6 DUP14 CALLER DUP4 DUP9 PUSH2 0x345C JUMP JUMPDEST PUSH2 0x28D2 DUP13 CALLER DUP4 DUP8 PUSH2 0x345C JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x6A627842 DUP9 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2921 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2935 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x294B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP5 SWAP14 SWAP4 SWAP13 POP SWAP4 SWAP11 POP SWAP2 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 TIMESTAMP DUP2 LT ISZERO PUSH2 0x29AB JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x45B6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0x29D9 DUP11 PUSH32 0x0 DUP12 CALLVALUE DUP13 DUP13 PUSH2 0x3EB0 JUMP JUMPDEST SWAP1 SWAP5 POP SWAP3 POP PUSH1 0x0 PUSH2 0x2A2B PUSH32 0x0 DUP13 PUSH32 0x0 PUSH2 0x33C8 JUMP JUMPDEST SWAP1 POP PUSH2 0x2A39 DUP12 CALLER DUP4 DUP9 PUSH2 0x345C JUMP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0E30DB0 DUP6 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2A94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2AA8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xA9059CBB DUP3 DUP7 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2B24 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2B38 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2B4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH2 0x2B56 JUMPI INVALID JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x6A627842 DUP9 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2BA5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2BB9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2BCF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP3 POP CALLVALUE DUP5 LT ISZERO PUSH2 0x2BE7 JUMPI PUSH2 0x2BE7 CALLER DUP6 CALLVALUE SUB PUSH2 0x30C2 JUMP JUMPDEST POP POP SWAP7 POP SWAP7 POP SWAP7 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 TIMESTAMP DUP2 LT ISZERO PUSH2 0x2C3B JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x45B6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 DUP7 PUSH1 0x0 DUP2 DUP2 LT PUSH2 0x2C72 JUMPI INVALID JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x2CCB JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x4464 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0x2D29 PUSH32 0x0 DUP9 DUP9 DUP9 DUP1 DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 PUSH1 0x20 MUL DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x37F6 SWAP3 POP POP POP JUMP JUMPDEST SWAP2 POP CALLVALUE DUP3 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x2D39 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT ISZERO PUSH2 0x2D7E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x443D PUSH1 0x27 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xD0E30DB0 DUP4 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x2DBA JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2DED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2E01 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xA9059CBB PUSH2 0x2E66 PUSH32 0x0 DUP10 DUP10 PUSH1 0x0 DUP2 DUP2 LT PUSH2 0x169E JUMPI INVALID JUMPDEST DUP5 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x2E73 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2EC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2ED5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2EEB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH2 0x2EF3 JUMPI INVALID JUMPDEST PUSH2 0x2F32 DUP3 DUP8 DUP8 DUP1 DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 PUSH1 0x20 MUL DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP10 SWAP3 POP PUSH2 0x35B9 SWAP2 POP POP JUMP JUMPDEST DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x2F3F JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD CALLVALUE GT ISZERO PUSH2 0x1E4E JUMPI PUSH2 0x1E4E CALLER DUP4 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x2F5F JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD CALLVALUE SUB PUSH2 0x30C2 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x64 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL OR DUP2 MSTORE SWAP3 MLOAD DUP3 MLOAD PUSH1 0x0 SWAP5 PUSH1 0x60 SWAP5 SWAP4 DUP10 AND SWAP4 SWAP3 SWAP2 DUP3 SWAP2 SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x2FEB JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x2FCC JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x304D JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x3052 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x3080 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x3080 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x307D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD JUMPDEST PUSH2 0x30BB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x34 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x42BB PUSH1 0x34 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP4 SWAP1 PUSH1 0x40 MLOAD DUP1 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x310E JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x30EF JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x3170 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x3175 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x31B5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x38 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x432F PUSH1 0x38 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 GT PUSH2 0x31FA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x40 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x42EF PUSH1 0x40 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP4 GT DUP1 ISZERO PUSH2 0x320A JUMPI POP PUSH1 0x0 DUP3 GT JUMPDEST PUSH2 0x3245 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x3D DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x43C7 PUSH1 0x3D SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3253 DUP6 PUSH2 0x3E5 PUSH2 0x4141 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3261 DUP3 DUP6 PUSH2 0x4141 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x327B DUP4 PUSH2 0x3275 DUP9 PUSH2 0x3E8 PUSH2 0x4141 JUMP JUMPDEST SWAP1 PUSH2 0x41A4 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 DUP2 PUSH2 0x3286 JUMPI INVALID JUMPDEST DIV SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP3 MLOAD LT ISZERO PUSH2 0x32D5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x33 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4484 PUSH1 0x33 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP1 ISZERO PUSH2 0x32ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x3317 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP3 DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x3328 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP PUSH1 0x0 JUMPDEST PUSH1 0x1 DUP4 MLOAD SUB DUP2 LT ISZERO PUSH2 0x33C0 JUMPI PUSH1 0x0 DUP1 PUSH2 0x337A DUP8 DUP7 DUP6 DUP2 MLOAD DUP2 LT PUSH2 0x3356 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP8 DUP7 PUSH1 0x1 ADD DUP2 MLOAD DUP2 LT PUSH2 0x336D JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x41F3 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x339C DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x338D JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP4 DUP4 PUSH2 0x31BA JUMP JUMPDEST DUP5 DUP5 PUSH1 0x1 ADD DUP2 MLOAD DUP2 LT PUSH2 0x33AB JUMPI INVALID JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE POP POP PUSH1 0x1 ADD PUSH2 0x3337 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE6A43905 DUP5 DUP5 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3428 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x343C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x3452 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE DUP5 DUP2 AND PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x84 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x23B872DD PUSH1 0xE0 SHL OR DUP2 MSTORE SWAP3 MLOAD DUP3 MLOAD PUSH1 0x0 SWAP5 PUSH1 0x60 SWAP5 SWAP4 DUP11 AND SWAP4 SWAP3 SWAP2 DUP3 SWAP2 SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x34E1 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x34C2 JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x3543 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x3548 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x3576 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x3576 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x3573 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD JUMPDEST PUSH2 0x35B1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x39 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4404 PUSH1 0x39 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0x1 DUP4 MLOAD SUB DUP2 LT ISZERO PUSH2 0x37F0 JUMPI PUSH1 0x0 DUP1 DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x35D7 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP6 DUP5 PUSH1 0x1 ADD DUP2 MLOAD DUP2 LT PUSH2 0x35EE JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH2 0x3606 DUP4 DUP4 PUSH2 0x3DE8 JUMP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP8 DUP6 PUSH1 0x1 ADD DUP2 MLOAD DUP2 LT PUSH2 0x361A JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH1 0x0 DUP1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3648 JUMPI DUP3 PUSH1 0x0 PUSH2 0x364C JUMP JUMPDEST PUSH1 0x0 DUP4 JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH1 0x2 DUP11 MLOAD SUB DUP9 LT PUSH2 0x3663 JUMPI DUP9 PUSH2 0x36A4 JUMP JUMPDEST PUSH2 0x36A4 PUSH32 0x0 DUP8 DUP13 DUP12 PUSH1 0x2 ADD DUP2 MLOAD DUP2 LT PUSH2 0x3697 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x33C8 JUMP JUMPDEST SWAP1 POP PUSH2 0x36D1 PUSH32 0x0 DUP9 DUP9 PUSH2 0x33C8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x22C0D9F DUP5 DUP5 DUP5 PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x370E JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3776 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x375E JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x37A3 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP6 POP POP POP POP POP POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x37C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x37D9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x1 SWAP1 SWAP10 ADD SWAP9 POP PUSH2 0x35BC SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP3 MLOAD LT ISZERO PUSH2 0x3839 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x33 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4484 PUSH1 0x33 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP1 ISZERO PUSH2 0x3851 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x387B JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP3 DUP2 PUSH1 0x1 DUP4 MLOAD SUB DUP2 MLOAD DUP2 LT PUSH2 0x388F JUMPI INVALID JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE DUP2 MLOAD PUSH1 0x0 NOT ADD JUMPDEST DUP1 ISZERO PUSH2 0x33C0 JUMPI PUSH1 0x0 DUP1 PUSH2 0x38D1 DUP8 DUP7 PUSH1 0x1 DUP7 SUB DUP2 MLOAD DUP2 LT PUSH2 0x38BD JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP8 DUP7 DUP2 MLOAD DUP2 LT PUSH2 0x336D JUMPI INVALID JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x38F3 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x38E4 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP4 DUP4 PUSH2 0x3C6A JUMP JUMPDEST DUP5 PUSH1 0x1 DUP6 SUB DUP2 MLOAD DUP2 LT PUSH2 0x3902 JUMPI INVALID JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE POP POP PUSH1 0x0 NOT ADD PUSH2 0x38A1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0x1 DUP4 MLOAD SUB DUP2 LT ISZERO PUSH2 0x31B5 JUMPI PUSH1 0x0 DUP1 DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x3936 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP6 DUP5 PUSH1 0x1 ADD DUP2 MLOAD DUP2 LT PUSH2 0x394D JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH2 0x3965 DUP4 DUP4 PUSH2 0x3DE8 JUMP JUMPDEST POP SWAP1 POP PUSH1 0x0 PUSH2 0x3995 PUSH32 0x0 DUP6 DUP6 PUSH2 0x33C8 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x902F1AC PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x39D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x39EA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x3A00 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x70 SHL SUB SWAP2 DUP3 AND SWAP4 POP AND SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND SWAP1 DUP10 AND EQ PUSH2 0x3A36 JUMPI DUP3 DUP5 PUSH2 0x3A39 JUMP JUMPDEST DUP4 DUP4 JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x3A8E DUP3 DUP12 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x70A08231 DUP11 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x180C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP6 POP PUSH2 0x3A9B DUP7 DUP4 DUP4 PUSH2 0x31BA JUMP JUMPDEST SWAP5 POP POP POP POP POP PUSH1 0x0 DUP1 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3AC5 JUMPI DUP3 PUSH1 0x0 PUSH2 0x3AC9 JUMP JUMPDEST PUSH1 0x0 DUP4 JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH1 0x2 DUP13 MLOAD SUB DUP11 LT PUSH2 0x3AE0 JUMPI DUP11 PUSH2 0x3B14 JUMP JUMPDEST PUSH2 0x3B14 PUSH32 0x0 DUP10 DUP15 DUP14 PUSH1 0x2 ADD DUP2 MLOAD DUP2 LT PUSH2 0x3697 JUMPI INVALID JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 DUP4 SWAP1 MSTORE PUSH4 0x22C0D9F PUSH1 0xE0 SHL DUP4 MSTORE PUSH1 0x24 DUP3 ADD DUP8 DUP2 MSTORE PUSH1 0x44 DUP4 ADD DUP8 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x64 DUP6 ADD MSTORE PUSH1 0x80 PUSH1 0x84 DUP6 ADD SWAP1 DUP2 MSTORE DUP5 MLOAD PUSH1 0xA4 DUP7 ADD DUP2 SWAP1 MSTORE SWAP7 SWAP8 POP SWAP1 DUP13 AND SWAP6 PUSH4 0x22C0D9F SWAP6 DUP11 SWAP6 DUP11 SWAP6 DUP11 SWAP6 SWAP2 SWAP5 SWAP2 SWAP4 SWAP2 SWAP3 PUSH1 0xC4 DUP7 ADD SWAP3 SWAP1 SWAP2 DUP2 SWAP1 DUP5 SWAP1 DUP5 SWAP1 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3B9E JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x3B86 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x3BCB JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP6 POP POP POP POP POP POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3BED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3C01 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x1 SWAP1 SWAP12 ADD SWAP11 POP PUSH2 0x391B SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP1 DUP3 SUB DUP3 DUP2 GT ISZERO PUSH2 0x1123 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x64732D6D6174682D7375622D756E646572666C6F77 PUSH1 0x58 SHL PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP5 GT PUSH2 0x3CAA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x41 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x44EA PUSH1 0x41 SWAP2 CODECOPY PUSH1 0x60 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP4 GT DUP1 ISZERO PUSH2 0x3CBA JUMPI POP PUSH1 0x0 DUP3 GT JUMPDEST PUSH2 0x3CF5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x3D DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x43C7 PUSH1 0x3D SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x3D0D PUSH2 0x3E8 PUSH2 0x3D07 DUP7 DUP9 PUSH2 0x4141 JUMP JUMPDEST SWAP1 PUSH2 0x4141 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3D21 PUSH2 0x3E5 PUSH2 0x3D07 DUP7 DUP10 PUSH2 0x3C1A JUMP JUMPDEST SWAP1 POP PUSH2 0x3D38 PUSH1 0x1 DUP3 DUP5 DUP2 PUSH2 0x3D31 JUMPI INVALID JUMPDEST DIV SWAP1 PUSH2 0x41A4 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 GT PUSH2 0x3D82 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x3A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x438D PUSH1 0x3A SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP4 GT DUP1 ISZERO PUSH2 0x3D92 JUMPI POP PUSH1 0x0 DUP3 GT JUMPDEST PUSH2 0x3DCD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x3D DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x43C7 PUSH1 0x3D SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH2 0x3DD8 DUP6 DUP5 PUSH2 0x4141 JUMP JUMPDEST DUP2 PUSH2 0x3DDF JUMPI INVALID JUMPDEST DIV SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x3E3C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x3A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x457C PUSH1 0x3A SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND LT PUSH2 0x3E5C JUMPI DUP3 DUP5 PUSH2 0x3E5F JUMP JUMPDEST DUP4 DUP4 JUMPDEST SWAP1 SWAP3 POP SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x3EA9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x33 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x44B7 PUSH1 0x33 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE6A43905 DUP11 DUP11 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3F3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3F50 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x3F66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x4024 JUMPI PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xC9C65396 DUP10 DUP10 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3FF7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x400B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x4021 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4052 PUSH32 0x0 DUP12 DUP12 PUSH2 0x41F3 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP2 PUSH1 0x0 EQ DUP1 ISZERO PUSH2 0x4064 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x4074 JUMPI DUP8 SWAP4 POP DUP7 SWAP3 POP PUSH2 0x4134 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4081 DUP10 DUP5 DUP5 PUSH2 0x3D42 JUMP JUMPDEST SWAP1 POP DUP8 DUP2 GT PUSH2 0x40D4 JUMPI DUP6 DUP2 LT ISZERO PUSH2 0x40C9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x4367 PUSH1 0x26 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP9 SWAP5 POP SWAP3 POP DUP3 PUSH2 0x4132 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x40E1 DUP10 DUP5 DUP7 PUSH2 0x3D42 JUMP JUMPDEST SWAP1 POP DUP10 DUP2 GT ISZERO PUSH2 0x40ED JUMPI INVALID JUMPDEST DUP8 DUP2 LT ISZERO PUSH2 0x412C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x452B PUSH1 0x26 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP5 POP DUP8 SWAP4 POP JUMPDEST POP JUMPDEST POP POP SWAP7 POP SWAP7 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO DUP1 PUSH2 0x415C JUMPI POP POP DUP1 DUP3 MUL DUP3 DUP3 DUP3 DUP2 PUSH2 0x4159 JUMPI INVALID JUMPDEST DIV EQ JUMPDEST PUSH2 0x1123 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x64732D6D6174682D6D756C2D6F766572666C6F77 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST DUP1 DUP3 ADD DUP3 DUP2 LT ISZERO PUSH2 0x1123 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x64732D6D6174682D6164642D6F766572666C6F77 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x4202 DUP6 DUP6 PUSH2 0x3DE8 JUMP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP1 PUSH2 0x4213 DUP9 DUP9 DUP9 PUSH2 0x33C8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x902F1AC PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x424B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x425F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x4275 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x70 SHL SUB SWAP2 DUP3 AND SWAP4 POP AND SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND SWAP1 DUP5 AND EQ PUSH2 0x42A8 JUMPI DUP1 DUP3 PUSH2 0x42AB JUMP JUMPDEST DUP2 DUP2 JUMPDEST SWAP1 SWAP10 SWAP1 SWAP9 POP SWAP7 POP POP POP POP POP POP POP JUMP INVALID 0x4D PUSH16 0x636B556E69737761705632526F757465 PUSH19 0x30325472616E7366657248656C7065723A2054 MSTORE COINBASE 0x4E MSTORE8 CHAINID GASLIMIT MSTORE 0x5F CHAINID COINBASE 0x49 0x4C GASLIMIT DIFFICULTY 0x4D PUSH16 0x636B556E69737761705632526F757465 PUSH19 0x3032556E697377617056324C6962726172793A KECCAK256 0x49 0x4E MSTORE8 SSTORE CHAINID CHAINID 0x49 NUMBER 0x49 GASLIMIT 0x4E SLOAD 0x5F 0x49 0x4E POP SSTORE SLOAD 0x5F COINBASE 0x4D 0x4F SSTORE 0x4E SLOAD 0x4D PUSH16 0x636B556E69737761705632526F757465 PUSH19 0x30325472616E7366657248656C7065723A2045 SLOAD 0x48 0x5F SLOAD MSTORE COINBASE 0x4E MSTORE8 CHAINID GASLIMIT MSTORE 0x5F CHAINID COINBASE 0x49 0x4C GASLIMIT DIFFICULTY SSTORE PUSH15 0x69737761705632526F757465723A20 0x49 0x4E MSTORE8 SSTORE CHAINID CHAINID 0x49 NUMBER 0x49 GASLIMIT 0x4E SLOAD 0x5F TIMESTAMP 0x5F COINBASE 0x4D 0x4F SSTORE 0x4E SLOAD 0x4D PUSH16 0x636B556E69737761705632526F757465 PUSH19 0x3032556E697377617056324C6962726172793A KECCAK256 0x49 0x4E MSTORE8 SSTORE CHAINID CHAINID 0x49 NUMBER 0x49 GASLIMIT 0x4E SLOAD 0x5F COINBASE 0x4D 0x4F SSTORE 0x4E SLOAD 0x4D PUSH16 0x636B556E69737761705632526F757465 PUSH19 0x3032556E697377617056324C6962726172793A KECCAK256 0x49 0x4E MSTORE8 SSTORE CHAINID CHAINID 0x49 NUMBER 0x49 GASLIMIT 0x4E SLOAD 0x5F 0x4C 0x49 MLOAD SSTORE 0x49 DIFFICULTY 0x49 SLOAD MSIZE 0x4D PUSH16 0x636B556E69737761705632526F757465 PUSH19 0x30325472616E7366657248656C7065723A2054 MSTORE COINBASE 0x4E MSTORE8 CHAINID GASLIMIT MSTORE 0x5F CHAINID MSTORE 0x4F 0x4D 0x5F CHAINID COINBASE 0x49 0x4C GASLIMIT DIFFICULTY SSTORE PUSH15 0x69737761705632526F757465723A20 GASLIMIT PC NUMBER GASLIMIT MSTORE8 MSTORE8 0x49 JUMP GASLIMIT 0x5F 0x49 0x4E POP SSTORE SLOAD 0x5F COINBASE 0x4D 0x4F SSTORE 0x4E SLOAD SSTORE PUSH15 0x69737761705632526F757465723A20 0x49 0x4E JUMP COINBASE 0x4C 0x49 DIFFICULTY 0x5F POP COINBASE SLOAD 0x48 STOP STOP STOP 0x4D PUSH16 0x636B556E69737761705632526F757465 PUSH19 0x3032556E697377617056324C6962726172793A KECCAK256 0x49 0x4E JUMP COINBASE 0x4C 0x49 DIFFICULTY 0x5F POP COINBASE SLOAD 0x48 0x4D PUSH16 0x636B556E69737761705632526F757465 PUSH19 0x3032556E697377617056324C6962726172793A KECCAK256 GAS GASLIMIT MSTORE 0x4F 0x5F COINBASE DIFFICULTY DIFFICULTY MSTORE GASLIMIT MSTORE8 MSTORE8 0x4D PUSH16 0x636B556E69737761705632526F757465 PUSH19 0x3032556E697377617056324C6962726172793A KECCAK256 0x49 0x4E MSTORE8 SSTORE CHAINID CHAINID 0x49 NUMBER 0x49 GASLIMIT 0x4E SLOAD 0x5F 0x4F SSTORE SLOAD POP SSTORE SLOAD 0x5F COINBASE 0x4D 0x4F SSTORE 0x4E SLOAD SSTORE PUSH15 0x69737761705632526F757465723A20 0x49 0x4E MSTORE8 SSTORE CHAINID CHAINID 0x49 NUMBER 0x49 GASLIMIT 0x4E SLOAD 0x5F COINBASE 0x5F COINBASE 0x4D 0x4F SSTORE 0x4E SLOAD SSTORE PUSH15 0x69737761705632526F757465723A20 0x49 0x4E MSTORE8 SSTORE CHAINID CHAINID 0x49 NUMBER 0x49 GASLIMIT 0x4E SLOAD 0x5F 0x4F SSTORE SLOAD POP SSTORE SLOAD 0x5F COINBASE 0x4D 0x4F SSTORE 0x4E SLOAD 0x4D PUSH16 0x636B556E69737761705632526F757465 PUSH19 0x3032556E697377617056324C6962726172793A KECCAK256 0x49 DIFFICULTY GASLIMIT 0x4E SLOAD 0x49 NUMBER COINBASE 0x4C 0x5F COINBASE DIFFICULTY DIFFICULTY MSTORE GASLIMIT MSTORE8 MSTORE8 GASLIMIT MSTORE8 SSTORE PUSH15 0x69737761705632526F757465723A20 GASLIMIT PC POP 0x49 MSTORE GASLIMIT DIFFICULTY STOP STOP STOP STOP STOP STOP STOP STOP LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GT SWAP1 CALLCODE 0x25 0xBB 0xE6 0xBD 0xB7 0xF8 DUP6 PUSH28 0x827BEE1CE90BB665B4192DB0AFFB104F6B6E3CFF0864736F6C634300 MOD 0xC STOP CALLER ",
  "pcMap": {
    "0": {
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x80"
    },
    "2": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "4": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "7": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "8": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "LT",
      "path": "26"
    },
    "9": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x14F"
    },
    "12": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "15": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "16": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "18": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "SHR",
      "path": "26"
    },
    "19": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "20": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x8803DBEE"
    },
    "25": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "GT",
      "path": "26"
    },
    "26": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xB6"
    },
    "29": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "30": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "31": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xC45A0155"
    },
    "36": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "GT",
      "path": "26"
    },
    "37": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x6F"
    },
    "40": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "41": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "42": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xC45A0155"
    },
    "47": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "48": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xA10"
    },
    "51": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "52": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "53": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xD06CA61F"
    },
    "58": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "59": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xA25"
    },
    "62": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "63": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "64": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xDED9382A"
    },
    "69": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "70": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xADA"
    },
    "73": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "74": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "75": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xE8E33700"
    },
    "80": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "81": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xB4D"
    },
    "84": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "85": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "86": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xF305D719"
    },
    "91": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "92": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xBCD"
    },
    "95": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "96": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "97": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFB3BDB41"
    },
    "102": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "103": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xC13"
    },
    "106": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "107": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x188"
    },
    "110": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMP",
      "path": "26"
    },
    "111": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "112": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "113": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x8803DBEE"
    },
    "118": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "119": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x7DF"
    },
    "122": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "123": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "124": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xAD5C4648"
    },
    "129": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "130": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x875"
    },
    "133": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "134": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "135": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xAD615DEC"
    },
    "140": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "141": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x8A6"
    },
    "144": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "145": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "146": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xAF2979EB"
    },
    "151": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "152": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x8DC"
    },
    "155": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "156": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "157": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xB6F9DE95"
    },
    "162": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "163": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x92F"
    },
    "166": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "167": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "168": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xBAA2ABDE"
    },
    "173": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "174": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x9B3"
    },
    "177": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "178": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x188"
    },
    "181": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMP",
      "path": "26"
    },
    "182": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "183": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "184": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x4A25D94A"
    },
    "189": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "GT",
      "path": "26"
    },
    "190": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x108"
    },
    "193": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "194": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "195": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x4A25D94A"
    },
    "200": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "201": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4F0"
    },
    "204": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "205": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "206": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x5B0D5984"
    },
    "211": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "212": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x586"
    },
    "215": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "216": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "217": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x5C11D795"
    },
    "222": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "223": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x5F9"
    },
    "226": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "227": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "228": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x791AC947"
    },
    "233": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "234": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x68F"
    },
    "237": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "238": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "239": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x7FF36AB5"
    },
    "244": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "245": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x725"
    },
    "248": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "249": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "250": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x85F8C259"
    },
    "255": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "256": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x7A9"
    },
    "259": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "260": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x188"
    },
    "263": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMP",
      "path": "26"
    },
    "264": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "265": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "266": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x2751CEC"
    },
    "271": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "272": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x18D"
    },
    "275": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "276": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "277": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x54D50D4"
    },
    "282": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "283": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1F9"
    },
    "286": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "287": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "288": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x18CBAFE5"
    },
    "293": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "294": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x241"
    },
    "297": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "298": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "299": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x1F00CA74"
    },
    "304": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "305": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x327"
    },
    "308": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "309": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "310": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x2195995C"
    },
    "315": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "316": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3DC"
    },
    "319": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "320": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "321": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x38ED1739"
    },
    "326": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "EQ",
      "path": "26"
    },
    "327": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x45A"
    },
    "330": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "331": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x188"
    },
    "334": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMP",
      "path": "26"
    },
    "335": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "336": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "337": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x188"
    },
    "340": {
      "fn": null,
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "341": {
      "fn": "MockUniswapV2Router02.<receive>",
      "offset": [
        9184,
        9194
      ],
      "op": "CALLER",
      "path": "26",
      "statement": 0
    },
    "342": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "344": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "346": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "348": {
      "op": "SHL"
    },
    "349": {
      "op": "SUB"
    },
    "350": {
      "fn": "MockUniswapV2Router02.<receive>",
      "offset": [
        9198,
        9202
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "383": {
      "fn": "MockUniswapV2Router02.<receive>",
      "offset": [
        9184,
        9202
      ],
      "op": "AND",
      "path": "26"
    },
    "384": {
      "fn": "MockUniswapV2Router02.<receive>",
      "offset": [
        9184,
        9202
      ],
      "op": "EQ",
      "path": "26"
    },
    "385": {
      "fn": "MockUniswapV2Router02.<receive>",
      "offset": [
        9177,
        9203
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x186"
    },
    "388": {
      "fn": "MockUniswapV2Router02.<receive>",
      "offset": [
        9177,
        9203
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "389": {
      "fn": "MockUniswapV2Router02.<receive>",
      "offset": [
        9177,
        9203
      ],
      "op": "INVALID",
      "path": "26"
    },
    "390": {
      "fn": "MockUniswapV2Router02.<receive>",
      "offset": [
        9177,
        9203
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "391": {
      "offset": [
        8709,
        27846
      ],
      "op": "STOP",
      "path": "26"
    },
    "392": {
      "fn": "MockUniswapV2Router02.<receive>",
      "offset": [
        8709,
        27846
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "393": {
      "fn": "MockUniswapV2Router02.<receive>",
      "offset": [
        8709,
        27846
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "395": {
      "fn": "MockUniswapV2Router02.<receive>",
      "offset": [
        8709,
        27846
      ],
      "op": "DUP1",
      "path": "26"
    },
    "396": {
      "first_revert": true,
      "fn": "MockUniswapV2Router02.<receive>",
      "offset": [
        8709,
        27846
      ],
      "op": "REVERT",
      "path": "26"
    },
    "397": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "398": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "399": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "DUP1",
      "path": "26"
    },
    "400": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "401": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x199"
    },
    "404": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "405": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "407": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "DUP1",
      "path": "26"
    },
    "408": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "REVERT",
      "path": "26"
    },
    "409": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "410": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "POP",
      "path": "26"
    },
    "411": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1E0"
    },
    "414": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "416": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "DUP1",
      "path": "26"
    },
    "417": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "418": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "SUB",
      "path": "26"
    },
    "419": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xC0"
    },
    "421": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "DUP2",
      "path": "26"
    },
    "422": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "LT",
      "path": "26"
    },
    "423": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "424": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1B0"
    },
    "427": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "428": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "430": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "DUP1",
      "path": "26"
    },
    "431": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "REVERT",
      "path": "26"
    },
    "432": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "433": {
      "op": "POP"
    },
    "434": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "436": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "438": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "440": {
      "op": "SHL"
    },
    "441": {
      "op": "SUB"
    },
    "442": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "DUP2",
      "path": "26"
    },
    "443": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "444": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "DUP2",
      "path": "26"
    },
    "445": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "AND",
      "path": "26"
    },
    "446": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "447": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "449": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "DUP2",
      "path": "26"
    },
    "450": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "ADD",
      "path": "26"
    },
    "451": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "452": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "453": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "455": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "DUP3",
      "path": "26"
    },
    "456": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "ADD",
      "path": "26"
    },
    "457": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "458": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "459": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "461": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "DUP2",
      "path": "26"
    },
    "462": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "ADD",
      "path": "26"
    },
    "463": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "464": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "465": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x80"
    },
    "467": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "DUP3",
      "path": "26"
    },
    "468": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "ADD",
      "path": "26"
    },
    "469": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "470": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "AND",
      "path": "26"
    },
    "471": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "472": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xA0"
    },
    "474": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "ADD",
      "path": "26"
    },
    "475": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "476": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xC97"
    },
    "479": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "jump": "i",
      "offset": [
        13442,
        14068
      ],
      "op": "JUMP",
      "path": "26"
    },
    "480": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "481": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "483": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "DUP1",
      "path": "26"
    },
    "484": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "485": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "486": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "DUP4",
      "path": "26"
    },
    "487": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "488": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "490": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "DUP4",
      "path": "26"
    },
    "491": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "ADD",
      "path": "26"
    },
    "492": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "493": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "494": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "495": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "496": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "DUP1",
      "path": "26"
    },
    "497": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "498": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "499": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "DUP3",
      "path": "26"
    },
    "500": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "501": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "SUB",
      "path": "26"
    },
    "502": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "ADD",
      "path": "26"
    },
    "503": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "504": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "RETURN",
      "path": "26"
    },
    "505": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "506": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "507": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "DUP1",
      "path": "26"
    },
    "508": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "509": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x205"
    },
    "512": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "513": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "515": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "DUP1",
      "path": "26"
    },
    "516": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "REVERT",
      "path": "26"
    },
    "517": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "518": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "POP",
      "path": "26"
    },
    "519": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x22F"
    },
    "522": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "524": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "DUP1",
      "path": "26"
    },
    "525": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "526": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "SUB",
      "path": "26"
    },
    "527": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "529": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "DUP2",
      "path": "26"
    },
    "530": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "LT",
      "path": "26"
    },
    "531": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "532": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x21C"
    },
    "535": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "536": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "538": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "DUP1",
      "path": "26"
    },
    "539": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "REVERT",
      "path": "26"
    },
    "540": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "541": {
      "op": "POP"
    },
    "542": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "DUP1",
      "path": "26"
    },
    "543": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "544": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "545": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "547": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "DUP2",
      "path": "26"
    },
    "548": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "ADD",
      "path": "26"
    },
    "549": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "550": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "551": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "553": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "ADD",
      "path": "26"
    },
    "554": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "555": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xDB1"
    },
    "558": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "jump": "i",
      "offset": [
        26875,
        27116
      ],
      "op": "JUMP",
      "path": "26"
    },
    "559": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "560": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "562": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "DUP1",
      "path": "26"
    },
    "563": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "564": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "565": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "DUP3",
      "path": "26"
    },
    "566": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "567": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "568": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "569": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "DUP2",
      "path": "26"
    },
    "570": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "571": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "SUB",
      "path": "26"
    },
    "572": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "574": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "ADD",
      "path": "26"
    },
    "575": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "576": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "RETURN",
      "path": "26"
    },
    "577": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "578": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "579": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP1",
      "path": "26"
    },
    "580": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "581": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x24D"
    },
    "584": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "585": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "587": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP1",
      "path": "26"
    },
    "588": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "REVERT",
      "path": "26"
    },
    "589": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "590": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "POP",
      "path": "26"
    },
    "591": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2D7"
    },
    "594": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "596": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP1",
      "path": "26"
    },
    "597": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "598": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SUB",
      "path": "26"
    },
    "599": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xA0"
    },
    "601": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP2",
      "path": "26"
    },
    "602": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "LT",
      "path": "26"
    },
    "603": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "604": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x264"
    },
    "607": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "608": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "610": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP1",
      "path": "26"
    },
    "611": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "REVERT",
      "path": "26"
    },
    "612": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "613": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP2",
      "path": "26"
    },
    "614": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "615": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "616": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "618": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP2",
      "path": "26"
    },
    "619": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ADD",
      "path": "26"
    },
    "620": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "621": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "622": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP2",
      "path": "26"
    },
    "623": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ADD",
      "path": "26"
    },
    "624": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "625": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "627": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP2",
      "path": "26"
    },
    "628": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ADD",
      "path": "26"
    },
    "629": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "631": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP3",
      "path": "26"
    },
    "632": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ADD",
      "path": "26"
    },
    "633": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "634": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "636": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "638": {
      "op": "SHL"
    },
    "639": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP2",
      "path": "26"
    },
    "640": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "GT",
      "path": "26"
    },
    "641": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "642": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x28A"
    },
    "645": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "646": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "648": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP1",
      "path": "26"
    },
    "649": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "REVERT",
      "path": "26"
    },
    "650": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "651": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP3",
      "path": "26"
    },
    "652": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ADD",
      "path": "26"
    },
    "653": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP4",
      "path": "26"
    },
    "654": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "656": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP3",
      "path": "26"
    },
    "657": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ADD",
      "path": "26"
    },
    "658": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "GT",
      "path": "26"
    },
    "659": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "660": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x29C"
    },
    "663": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "664": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "666": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP1",
      "path": "26"
    },
    "667": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "REVERT",
      "path": "26"
    },
    "668": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "669": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP1",
      "path": "26"
    },
    "670": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "671": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "672": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "674": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ADD",
      "path": "26"
    },
    "675": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "676": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP5",
      "path": "26"
    },
    "677": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "679": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP4",
      "path": "26"
    },
    "680": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "MUL",
      "path": "26"
    },
    "681": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP5",
      "path": "26"
    },
    "682": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ADD",
      "path": "26"
    },
    "683": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "GT",
      "path": "26"
    },
    "684": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "686": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "688": {
      "op": "SHL"
    },
    "689": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP4",
      "path": "26"
    },
    "690": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "GT",
      "path": "26"
    },
    "691": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "OR",
      "path": "26"
    },
    "692": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "693": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2BD"
    },
    "696": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "697": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "699": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP1",
      "path": "26"
    },
    "700": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "REVERT",
      "path": "26"
    },
    "701": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "702": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "703": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "704": {
      "op": "POP"
    },
    "705": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "706": {
      "op": "POP"
    },
    "707": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "709": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "711": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "713": {
      "op": "SHL"
    },
    "714": {
      "op": "SUB"
    },
    "715": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP2",
      "path": "26"
    },
    "716": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "717": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "AND",
      "path": "26"
    },
    "718": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "719": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "721": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ADD",
      "path": "26"
    },
    "722": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "723": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xDC6"
    },
    "726": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "jump": "i",
      "offset": [
        20976,
        21891
      ],
      "op": "JUMP",
      "path": "26"
    },
    "727": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "728": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "730": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP1",
      "path": "26"
    },
    "731": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "732": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "734": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP1",
      "path": "26"
    },
    "735": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP3",
      "path": "26"
    },
    "736": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "737": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP4",
      "path": "26"
    },
    "738": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "739": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP2",
      "path": "26"
    },
    "740": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP4",
      "path": "26"
    },
    "741": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ADD",
      "path": "26"
    },
    "742": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "743": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP4",
      "path": "26"
    },
    "744": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "745": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "746": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "747": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP4",
      "path": "26"
    },
    "748": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "749": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "750": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP4",
      "path": "26"
    },
    "751": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ADD",
      "path": "26"
    },
    "752": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "753": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP6",
      "path": "26"
    },
    "754": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP2",
      "path": "26"
    },
    "755": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ADD",
      "path": "26"
    },
    "756": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "757": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "MUL",
      "path": "26"
    },
    "758": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP1",
      "path": "26"
    },
    "759": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP4",
      "path": "26"
    },
    "760": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP4",
      "path": "26"
    },
    "761": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "763": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "764": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP4",
      "path": "26"
    },
    "765": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP2",
      "path": "26"
    },
    "766": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "LT",
      "path": "26"
    },
    "767": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "768": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x313"
    },
    "771": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "772": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP2",
      "path": "26"
    },
    "773": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP2",
      "path": "26"
    },
    "774": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ADD",
      "path": "26"
    },
    "775": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "776": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP4",
      "path": "26"
    },
    "777": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP3",
      "path": "26"
    },
    "778": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ADD",
      "path": "26"
    },
    "779": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "780": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "782": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ADD",
      "path": "26"
    },
    "783": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2FB"
    },
    "786": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "JUMP",
      "path": "26"
    },
    "787": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "788": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "POP",
      "path": "26"
    },
    "789": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "POP",
      "path": "26"
    },
    "790": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "POP",
      "path": "26"
    },
    "791": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "POP",
      "path": "26"
    },
    "792": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "793": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "POP",
      "path": "26"
    },
    "794": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "ADD",
      "path": "26"
    },
    "795": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "796": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "POP",
      "path": "26"
    },
    "797": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "POP",
      "path": "26"
    },
    "798": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "POP",
      "path": "26"
    },
    "799": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "801": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "802": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "DUP1",
      "path": "26"
    },
    "803": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "804": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SUB",
      "path": "26"
    },
    "805": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "806": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "RETURN",
      "path": "26"
    },
    "807": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "808": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "809": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP1",
      "path": "26"
    },
    "810": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "811": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x333"
    },
    "814": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "815": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "817": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP1",
      "path": "26"
    },
    "818": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "REVERT",
      "path": "26"
    },
    "819": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "820": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "POP",
      "path": "26"
    },
    "821": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2D7"
    },
    "824": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "826": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP1",
      "path": "26"
    },
    "827": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "828": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SUB",
      "path": "26"
    },
    "829": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "831": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP2",
      "path": "26"
    },
    "832": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "LT",
      "path": "26"
    },
    "833": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "834": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x34A"
    },
    "837": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "838": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "840": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP1",
      "path": "26"
    },
    "841": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "REVERT",
      "path": "26"
    },
    "842": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "843": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP2",
      "path": "26"
    },
    "844": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "845": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "846": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "847": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP2",
      "path": "26"
    },
    "848": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "ADD",
      "path": "26"
    },
    "849": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "850": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "852": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP2",
      "path": "26"
    },
    "853": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "ADD",
      "path": "26"
    },
    "854": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "856": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP3",
      "path": "26"
    },
    "857": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "ADD",
      "path": "26"
    },
    "858": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "859": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "861": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "863": {
      "op": "SHL"
    },
    "864": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP2",
      "path": "26"
    },
    "865": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "GT",
      "path": "26"
    },
    "866": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "867": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x36B"
    },
    "870": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "871": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "873": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP1",
      "path": "26"
    },
    "874": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "REVERT",
      "path": "26"
    },
    "875": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "876": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP3",
      "path": "26"
    },
    "877": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "ADD",
      "path": "26"
    },
    "878": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP4",
      "path": "26"
    },
    "879": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "881": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP3",
      "path": "26"
    },
    "882": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "ADD",
      "path": "26"
    },
    "883": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "GT",
      "path": "26"
    },
    "884": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "885": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x37D"
    },
    "888": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "889": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "891": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP1",
      "path": "26"
    },
    "892": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "REVERT",
      "path": "26"
    },
    "893": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "894": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP1",
      "path": "26"
    },
    "895": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "896": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "897": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "899": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "ADD",
      "path": "26"
    },
    "900": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "901": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP5",
      "path": "26"
    },
    "902": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "904": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP4",
      "path": "26"
    },
    "905": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "MUL",
      "path": "26"
    },
    "906": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP5",
      "path": "26"
    },
    "907": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "ADD",
      "path": "26"
    },
    "908": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "GT",
      "path": "26"
    },
    "909": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "911": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "913": {
      "op": "SHL"
    },
    "914": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP4",
      "path": "26"
    },
    "915": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "GT",
      "path": "26"
    },
    "916": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "OR",
      "path": "26"
    },
    "917": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "918": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x39E"
    },
    "921": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "922": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "924": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP1",
      "path": "26"
    },
    "925": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "REVERT",
      "path": "26"
    },
    "926": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "927": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "928": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "929": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP1",
      "path": "26"
    },
    "930": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP1",
      "path": "26"
    },
    "931": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "933": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "MUL",
      "path": "26"
    },
    "934": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "936": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "ADD",
      "path": "26"
    },
    "937": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "939": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "940": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "941": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP2",
      "path": "26"
    },
    "942": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "ADD",
      "path": "26"
    },
    "943": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "945": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "946": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP1",
      "path": "26"
    },
    "947": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "948": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "949": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "950": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "951": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP2",
      "path": "26"
    },
    "952": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP2",
      "path": "26"
    },
    "953": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "954": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "956": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "ADD",
      "path": "26"
    },
    "957": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP4",
      "path": "26"
    },
    "958": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP4",
      "path": "26"
    },
    "959": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "961": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "MUL",
      "path": "26"
    },
    "962": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP1",
      "path": "26"
    },
    "963": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP3",
      "path": "26"
    },
    "964": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "DUP5",
      "path": "26"
    },
    "965": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "CALLDATACOPY",
      "path": "26"
    },
    "966": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "968": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "969": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "ADD",
      "path": "26"
    },
    "970": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "971": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "972": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "973": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "974": {
      "op": "POP"
    },
    "975": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "976": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SWAP6",
      "path": "26"
    },
    "977": {
      "op": "POP"
    },
    "978": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x10F3"
    },
    "981": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SWAP5",
      "path": "26"
    },
    "982": {
      "op": "POP"
    },
    "983": {
      "op": "POP"
    },
    "984": {
      "op": "POP"
    },
    "985": {
      "op": "POP"
    },
    "986": {
      "op": "POP"
    },
    "987": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "jump": "i",
      "offset": [
        27606,
        27844
      ],
      "op": "JUMP",
      "path": "26"
    },
    "988": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "989": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "990": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "DUP1",
      "path": "26"
    },
    "991": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "992": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3E8"
    },
    "995": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "996": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "998": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "DUP1",
      "path": "26"
    },
    "999": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1000": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1001": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "POP",
      "path": "26"
    },
    "1002": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1E0"
    },
    "1005": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "1007": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1008": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "1009": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "SUB",
      "path": "26"
    },
    "1010": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x160"
    },
    "1013": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1014": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "LT",
      "path": "26"
    },
    "1015": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1016": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x400"
    },
    "1019": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1020": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1022": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1023": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1024": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1025": {
      "op": "POP"
    },
    "1026": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1028": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1030": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1032": {
      "op": "SHL"
    },
    "1033": {
      "op": "SUB"
    },
    "1034": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1035": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1036": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1037": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "AND",
      "path": "26"
    },
    "1038": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1039": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1041": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1042": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "ADD",
      "path": "26"
    },
    "1043": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1044": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1045": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "AND",
      "path": "26"
    },
    "1046": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1047": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "1049": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1050": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "ADD",
      "path": "26"
    },
    "1051": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1052": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1053": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "1055": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1056": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "ADD",
      "path": "26"
    },
    "1057": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1058": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1059": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x80"
    },
    "1061": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1062": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "ADD",
      "path": "26"
    },
    "1063": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1064": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1065": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xA0"
    },
    "1067": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1068": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "ADD",
      "path": "26"
    },
    "1069": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1070": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1071": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1072": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "AND",
      "path": "26"
    },
    "1073": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1074": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xC0"
    },
    "1076": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1077": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "ADD",
      "path": "26"
    },
    "1078": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1079": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1080": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "1082": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1083": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "ADD",
      "path": "26"
    },
    "1084": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1085": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1086": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1087": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1088": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xFF"
    },
    "1090": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x100"
    },
    "1093": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1094": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "ADD",
      "path": "26"
    },
    "1095": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1096": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "AND",
      "path": "26"
    },
    "1097": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1098": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x120"
    },
    "1101": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1102": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "ADD",
      "path": "26"
    },
    "1103": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1104": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1105": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x140"
    },
    "1108": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "ADD",
      "path": "26"
    },
    "1109": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1110": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1129"
    },
    "1113": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "jump": "i",
      "offset": [
        14072,
        14833
      ],
      "op": "JUMP",
      "path": "26"
    },
    "1114": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1115": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "1116": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1117": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1118": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x466"
    },
    "1121": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1122": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1124": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1125": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1126": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1127": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "POP",
      "path": "26"
    },
    "1128": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2D7"
    },
    "1131": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "1133": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1134": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "1135": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "SUB",
      "path": "26"
    },
    "1136": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xA0"
    },
    "1138": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1139": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "LT",
      "path": "26"
    },
    "1140": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1141": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x47D"
    },
    "1144": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1145": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1147": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1148": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1149": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1150": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1151": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1152": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1153": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1155": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1156": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "ADD",
      "path": "26"
    },
    "1157": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1158": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1159": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1160": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "ADD",
      "path": "26"
    },
    "1161": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1162": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "1164": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1165": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "ADD",
      "path": "26"
    },
    "1166": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "1168": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1169": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "ADD",
      "path": "26"
    },
    "1170": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1171": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1173": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1175": {
      "op": "SHL"
    },
    "1176": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1177": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "GT",
      "path": "26"
    },
    "1178": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1179": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4A3"
    },
    "1182": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1183": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1185": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1186": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1187": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1188": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1189": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "ADD",
      "path": "26"
    },
    "1190": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP4",
      "path": "26"
    },
    "1191": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1193": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1194": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "ADD",
      "path": "26"
    },
    "1195": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "GT",
      "path": "26"
    },
    "1196": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1197": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4B5"
    },
    "1200": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1201": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1203": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1204": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1205": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1206": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1207": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1208": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1209": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1211": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "ADD",
      "path": "26"
    },
    "1212": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1213": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP5",
      "path": "26"
    },
    "1214": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1216": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP4",
      "path": "26"
    },
    "1217": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "MUL",
      "path": "26"
    },
    "1218": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP5",
      "path": "26"
    },
    "1219": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "ADD",
      "path": "26"
    },
    "1220": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "GT",
      "path": "26"
    },
    "1221": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1223": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1225": {
      "op": "SHL"
    },
    "1226": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP4",
      "path": "26"
    },
    "1227": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "GT",
      "path": "26"
    },
    "1228": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "OR",
      "path": "26"
    },
    "1229": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1230": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4D6"
    },
    "1233": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1234": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1236": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1237": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1238": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1239": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1240": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "1241": {
      "op": "POP"
    },
    "1242": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1243": {
      "op": "POP"
    },
    "1244": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1246": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1248": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1250": {
      "op": "SHL"
    },
    "1251": {
      "op": "SUB"
    },
    "1252": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1253": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1254": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "AND",
      "path": "26"
    },
    "1255": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1256": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1258": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "ADD",
      "path": "26"
    },
    "1259": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1260": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1223"
    },
    "1263": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "jump": "i",
      "offset": [
        18034,
        18698
      ],
      "op": "JUMP",
      "path": "26"
    },
    "1264": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1265": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "1266": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1267": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1268": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4FC"
    },
    "1271": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1272": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1274": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1275": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1276": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1277": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "POP",
      "path": "26"
    },
    "1278": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2D7"
    },
    "1281": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "1283": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1284": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "1285": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "SUB",
      "path": "26"
    },
    "1286": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xA0"
    },
    "1288": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1289": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "LT",
      "path": "26"
    },
    "1290": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1291": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x513"
    },
    "1294": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1295": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1297": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1298": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1299": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1300": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1301": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1302": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1303": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1305": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1306": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "ADD",
      "path": "26"
    },
    "1307": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1308": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1309": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1310": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "ADD",
      "path": "26"
    },
    "1311": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1312": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "1314": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1315": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "ADD",
      "path": "26"
    },
    "1316": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "1318": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1319": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "ADD",
      "path": "26"
    },
    "1320": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1321": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1323": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1325": {
      "op": "SHL"
    },
    "1326": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1327": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "GT",
      "path": "26"
    },
    "1328": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1329": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x539"
    },
    "1332": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1333": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1335": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1336": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1337": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1338": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1339": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "ADD",
      "path": "26"
    },
    "1340": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP4",
      "path": "26"
    },
    "1341": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1343": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1344": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "ADD",
      "path": "26"
    },
    "1345": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "GT",
      "path": "26"
    },
    "1346": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1347": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x54B"
    },
    "1350": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1351": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1353": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1354": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1355": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1356": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1357": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1358": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1359": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1361": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "ADD",
      "path": "26"
    },
    "1362": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1363": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP5",
      "path": "26"
    },
    "1364": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1366": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP4",
      "path": "26"
    },
    "1367": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "MUL",
      "path": "26"
    },
    "1368": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP5",
      "path": "26"
    },
    "1369": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "ADD",
      "path": "26"
    },
    "1370": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "GT",
      "path": "26"
    },
    "1371": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1373": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1375": {
      "op": "SHL"
    },
    "1376": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP4",
      "path": "26"
    },
    "1377": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "GT",
      "path": "26"
    },
    "1378": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "OR",
      "path": "26"
    },
    "1379": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1380": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x56C"
    },
    "1383": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1384": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1386": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1387": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1388": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1389": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1390": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "1391": {
      "op": "POP"
    },
    "1392": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1393": {
      "op": "POP"
    },
    "1394": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1396": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1398": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1400": {
      "op": "SHL"
    },
    "1401": {
      "op": "SUB"
    },
    "1402": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1403": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1404": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "AND",
      "path": "26"
    },
    "1405": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1406": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1408": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "ADD",
      "path": "26"
    },
    "1409": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1410": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x136E"
    },
    "1413": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "jump": "i",
      "offset": [
        20097,
        20972
      ],
      "op": "JUMP",
      "path": "26"
    },
    "1414": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1415": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "1416": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1417": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1418": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x592"
    },
    "1421": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1422": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1424": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1425": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1426": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1427": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "POP",
      "path": "26"
    },
    "1428": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x22F"
    },
    "1431": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "1433": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1434": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "1435": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "SUB",
      "path": "26"
    },
    "1436": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x140"
    },
    "1439": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1440": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "LT",
      "path": "26"
    },
    "1441": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1442": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x5AA"
    },
    "1445": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1446": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1448": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1449": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1450": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1451": {
      "op": "POP"
    },
    "1452": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1454": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1456": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1458": {
      "op": "SHL"
    },
    "1459": {
      "op": "SUB"
    },
    "1460": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1461": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1462": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1463": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "AND",
      "path": "26"
    },
    "1464": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1465": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1467": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1468": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "ADD",
      "path": "26"
    },
    "1469": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1470": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1471": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "1473": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1474": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "ADD",
      "path": "26"
    },
    "1475": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1476": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1477": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "1479": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1480": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "ADD",
      "path": "26"
    },
    "1481": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1482": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1483": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x80"
    },
    "1485": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1486": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "ADD",
      "path": "26"
    },
    "1487": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1488": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "AND",
      "path": "26"
    },
    "1489": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1490": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xA0"
    },
    "1492": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1493": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "ADD",
      "path": "26"
    },
    "1494": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1495": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1496": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xC0"
    },
    "1498": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1499": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "ADD",
      "path": "26"
    },
    "1500": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1501": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1502": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1503": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1504": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xFF"
    },
    "1506": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "1508": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1509": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "ADD",
      "path": "26"
    },
    "1510": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1511": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "AND",
      "path": "26"
    },
    "1512": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1513": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x100"
    },
    "1516": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1517": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "ADD",
      "path": "26"
    },
    "1518": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1519": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1520": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x120"
    },
    "1523": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "ADD",
      "path": "26"
    },
    "1524": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1525": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x14FA"
    },
    "1528": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "jump": "i",
      "offset": [
        16342,
        17119
      ],
      "op": "JUMP",
      "path": "26"
    },
    "1529": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1530": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "1531": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1532": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1533": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x605"
    },
    "1536": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1537": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1539": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1540": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1541": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1542": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "POP",
      "path": "26"
    },
    "1543": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x186"
    },
    "1546": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "1548": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1549": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "1550": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "SUB",
      "path": "26"
    },
    "1551": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xA0"
    },
    "1553": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1554": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "LT",
      "path": "26"
    },
    "1555": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1556": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x61C"
    },
    "1559": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1560": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1562": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1563": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1564": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1565": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1566": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1567": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1568": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1570": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1571": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "ADD",
      "path": "26"
    },
    "1572": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1573": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1574": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1575": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "ADD",
      "path": "26"
    },
    "1576": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1577": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "1579": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1580": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "ADD",
      "path": "26"
    },
    "1581": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "1583": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1584": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "ADD",
      "path": "26"
    },
    "1585": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1586": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1588": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1590": {
      "op": "SHL"
    },
    "1591": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1592": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "GT",
      "path": "26"
    },
    "1593": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1594": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x642"
    },
    "1597": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1598": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1600": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1601": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1602": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1603": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1604": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "ADD",
      "path": "26"
    },
    "1605": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP4",
      "path": "26"
    },
    "1606": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1608": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1609": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "ADD",
      "path": "26"
    },
    "1610": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "GT",
      "path": "26"
    },
    "1611": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1612": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x654"
    },
    "1615": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1616": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1618": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1619": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1620": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1621": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1622": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1623": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1624": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1626": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "ADD",
      "path": "26"
    },
    "1627": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1628": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP5",
      "path": "26"
    },
    "1629": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1631": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP4",
      "path": "26"
    },
    "1632": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "MUL",
      "path": "26"
    },
    "1633": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP5",
      "path": "26"
    },
    "1634": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "ADD",
      "path": "26"
    },
    "1635": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "GT",
      "path": "26"
    },
    "1636": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1638": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1640": {
      "op": "SHL"
    },
    "1641": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP4",
      "path": "26"
    },
    "1642": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "GT",
      "path": "26"
    },
    "1643": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "OR",
      "path": "26"
    },
    "1644": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1645": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x675"
    },
    "1648": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1649": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1651": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1652": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1653": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1654": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1655": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "1656": {
      "op": "POP"
    },
    "1657": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1658": {
      "op": "POP"
    },
    "1659": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1661": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1663": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1665": {
      "op": "SHL"
    },
    "1666": {
      "op": "SUB"
    },
    "1667": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1668": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1669": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "AND",
      "path": "26"
    },
    "1670": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1671": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1673": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "ADD",
      "path": "26"
    },
    "1674": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1675": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1608"
    },
    "1678": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "jump": "i",
      "offset": [
        24272,
        24964
      ],
      "op": "JUMP",
      "path": "26"
    },
    "1679": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1680": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "1681": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1682": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1683": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x69B"
    },
    "1686": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1687": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1689": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1690": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1691": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1692": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "POP",
      "path": "26"
    },
    "1693": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x186"
    },
    "1696": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "1698": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1699": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "1700": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "SUB",
      "path": "26"
    },
    "1701": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xA0"
    },
    "1703": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1704": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "LT",
      "path": "26"
    },
    "1705": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1706": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x6B2"
    },
    "1709": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1710": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1712": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1713": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1714": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1715": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1716": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1717": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1718": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1720": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1721": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "ADD",
      "path": "26"
    },
    "1722": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1723": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1724": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1725": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "ADD",
      "path": "26"
    },
    "1726": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1727": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "1729": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1730": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "ADD",
      "path": "26"
    },
    "1731": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "1733": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1734": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "ADD",
      "path": "26"
    },
    "1735": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1736": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1738": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1740": {
      "op": "SHL"
    },
    "1741": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1742": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "GT",
      "path": "26"
    },
    "1743": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1744": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x6D8"
    },
    "1747": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1748": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1750": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1751": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1752": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1753": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1754": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "ADD",
      "path": "26"
    },
    "1755": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP4",
      "path": "26"
    },
    "1756": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1758": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1759": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "ADD",
      "path": "26"
    },
    "1760": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "GT",
      "path": "26"
    },
    "1761": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1762": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x6EA"
    },
    "1765": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1766": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1768": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1769": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1770": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1771": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1772": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1773": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1774": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1776": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "ADD",
      "path": "26"
    },
    "1777": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1778": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP5",
      "path": "26"
    },
    "1779": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1781": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP4",
      "path": "26"
    },
    "1782": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "MUL",
      "path": "26"
    },
    "1783": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP5",
      "path": "26"
    },
    "1784": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "ADD",
      "path": "26"
    },
    "1785": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "GT",
      "path": "26"
    },
    "1786": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1788": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1790": {
      "op": "SHL"
    },
    "1791": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP4",
      "path": "26"
    },
    "1792": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "GT",
      "path": "26"
    },
    "1793": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "OR",
      "path": "26"
    },
    "1794": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1795": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x70B"
    },
    "1798": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1799": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1801": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1802": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1803": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1804": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1805": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "1806": {
      "op": "POP"
    },
    "1807": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1808": {
      "op": "POP"
    },
    "1809": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1811": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1813": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1815": {
      "op": "SHL"
    },
    "1816": {
      "op": "SUB"
    },
    "1817": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1818": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1819": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "AND",
      "path": "26"
    },
    "1820": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1821": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1823": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "ADD",
      "path": "26"
    },
    "1824": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1825": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1885"
    },
    "1828": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "jump": "i",
      "offset": [
        25791,
        26617
      ],
      "op": "JUMP",
      "path": "26"
    },
    "1829": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1830": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2D7"
    },
    "1833": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "1835": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1836": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "1837": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "SUB",
      "path": "26"
    },
    "1838": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x80"
    },
    "1840": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1841": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "LT",
      "path": "26"
    },
    "1842": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1843": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x73B"
    },
    "1846": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1847": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1849": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1850": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1851": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1852": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1853": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1854": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1855": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1856": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1857": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "ADD",
      "path": "26"
    },
    "1858": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1859": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "1861": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1862": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "ADD",
      "path": "26"
    },
    "1863": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1865": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1866": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "ADD",
      "path": "26"
    },
    "1867": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1868": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1870": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1872": {
      "op": "SHL"
    },
    "1873": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1874": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "GT",
      "path": "26"
    },
    "1875": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1876": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x75C"
    },
    "1879": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1880": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1882": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1883": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1884": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1885": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1886": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "ADD",
      "path": "26"
    },
    "1887": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "DUP4",
      "path": "26"
    },
    "1888": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1890": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "DUP3",
      "path": "26"
    },
    "1891": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "ADD",
      "path": "26"
    },
    "1892": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "GT",
      "path": "26"
    },
    "1893": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1894": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x76E"
    },
    "1897": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1898": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1900": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1901": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1902": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1903": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1904": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1905": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1906": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1908": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "ADD",
      "path": "26"
    },
    "1909": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1910": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "DUP5",
      "path": "26"
    },
    "1911": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1913": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "DUP4",
      "path": "26"
    },
    "1914": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "MUL",
      "path": "26"
    },
    "1915": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "DUP5",
      "path": "26"
    },
    "1916": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "ADD",
      "path": "26"
    },
    "1917": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "GT",
      "path": "26"
    },
    "1918": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1920": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1922": {
      "op": "SHL"
    },
    "1923": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "DUP4",
      "path": "26"
    },
    "1924": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "GT",
      "path": "26"
    },
    "1925": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "OR",
      "path": "26"
    },
    "1926": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1927": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x78F"
    },
    "1930": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1931": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1933": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1934": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1935": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1936": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1937": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "1938": {
      "op": "POP"
    },
    "1939": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "1940": {
      "op": "POP"
    },
    "1941": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1943": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1945": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1947": {
      "op": "SHL"
    },
    "1948": {
      "op": "SUB"
    },
    "1949": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1950": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1951": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "AND",
      "path": "26"
    },
    "1952": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "1953": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "1955": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "ADD",
      "path": "26"
    },
    "1956": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "1957": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1B0E"
    },
    "1960": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "jump": "i",
      "offset": [
        19330,
        20093
      ],
      "op": "JUMP",
      "path": "26"
    },
    "1961": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1962": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "1963": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1964": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1965": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x7B5"
    },
    "1968": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1969": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1971": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1972": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1973": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1974": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "POP",
      "path": "26"
    },
    "1975": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x22F"
    },
    "1978": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "1980": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1981": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "1982": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "SUB",
      "path": "26"
    },
    "1983": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "1985": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "DUP2",
      "path": "26"
    },
    "1986": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "LT",
      "path": "26"
    },
    "1987": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "1988": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x7CC"
    },
    "1991": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "1992": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "1994": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1995": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "REVERT",
      "path": "26"
    },
    "1996": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "1997": {
      "op": "POP"
    },
    "1998": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "DUP1",
      "path": "26"
    },
    "1999": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2000": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2001": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2003": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2004": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "ADD",
      "path": "26"
    },
    "2005": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2006": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2007": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "2009": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "ADD",
      "path": "26"
    },
    "2010": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2011": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1E58"
    },
    "2014": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "jump": "i",
      "offset": [
        27120,
        27360
      ],
      "op": "JUMP",
      "path": "26"
    },
    "2015": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2016": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "2017": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2018": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2019": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x7EB"
    },
    "2022": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2023": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2025": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2026": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2027": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2028": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "POP",
      "path": "26"
    },
    "2029": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2D7"
    },
    "2032": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "2034": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2035": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "2036": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "SUB",
      "path": "26"
    },
    "2037": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xA0"
    },
    "2039": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2040": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "LT",
      "path": "26"
    },
    "2041": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2042": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x802"
    },
    "2045": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2046": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2048": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2049": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2050": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2051": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2052": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2053": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2054": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2056": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2057": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "ADD",
      "path": "26"
    },
    "2058": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2059": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2060": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2061": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "ADD",
      "path": "26"
    },
    "2062": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2063": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "2065": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2066": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "ADD",
      "path": "26"
    },
    "2067": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "2069": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2070": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "ADD",
      "path": "26"
    },
    "2071": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2072": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2074": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2076": {
      "op": "SHL"
    },
    "2077": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2078": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "GT",
      "path": "26"
    },
    "2079": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2080": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x828"
    },
    "2083": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2084": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2086": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2087": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2088": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2089": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2090": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "ADD",
      "path": "26"
    },
    "2091": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP4",
      "path": "26"
    },
    "2092": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2094": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2095": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "ADD",
      "path": "26"
    },
    "2096": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "GT",
      "path": "26"
    },
    "2097": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2098": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x83A"
    },
    "2101": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2102": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2104": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2105": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2106": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2107": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2108": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2109": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2110": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2112": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "ADD",
      "path": "26"
    },
    "2113": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2114": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP5",
      "path": "26"
    },
    "2115": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2117": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP4",
      "path": "26"
    },
    "2118": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "MUL",
      "path": "26"
    },
    "2119": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP5",
      "path": "26"
    },
    "2120": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "ADD",
      "path": "26"
    },
    "2121": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "GT",
      "path": "26"
    },
    "2122": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2124": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2126": {
      "op": "SHL"
    },
    "2127": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP4",
      "path": "26"
    },
    "2128": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "GT",
      "path": "26"
    },
    "2129": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "OR",
      "path": "26"
    },
    "2130": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2131": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x85B"
    },
    "2134": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2135": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2137": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2138": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2139": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2140": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2141": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "2142": {
      "op": "POP"
    },
    "2143": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2144": {
      "op": "POP"
    },
    "2145": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2147": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2149": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2151": {
      "op": "SHL"
    },
    "2152": {
      "op": "SUB"
    },
    "2153": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2154": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2155": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "AND",
      "path": "26"
    },
    "2156": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2157": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2159": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "ADD",
      "path": "26"
    },
    "2160": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2161": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1E65"
    },
    "2164": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "jump": "i",
      "offset": [
        18702,
        19326
      ],
      "op": "JUMP",
      "path": "26"
    },
    "2165": {
      "offset": [
        8881,
        8919
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2166": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "2167": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2168": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2169": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x881"
    },
    "2172": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2173": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2175": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2176": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2177": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2178": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "POP",
      "path": "26"
    },
    "2179": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x88A"
    },
    "2182": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1F5E"
    },
    "2185": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "jump": "i",
      "offset": [
        8881,
        8919
      ],
      "op": "JUMP",
      "path": "26"
    },
    "2186": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2187": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "2189": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2190": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "2191": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2193": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2195": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2197": {
      "op": "SHL"
    },
    "2198": {
      "op": "SUB"
    },
    "2199": {
      "offset": [
        8881,
        8919
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2200": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "2201": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "AND",
      "path": "26"
    },
    "2202": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2203": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "2204": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "2205": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2206": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2207": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2208": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "SUB",
      "path": "26"
    },
    "2209": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2211": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "ADD",
      "path": "26"
    },
    "2212": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2213": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "RETURN",
      "path": "26"
    },
    "2214": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2215": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "2216": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2217": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2218": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x8B2"
    },
    "2221": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2222": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2224": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2225": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2226": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2227": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "POP",
      "path": "26"
    },
    "2228": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x22F"
    },
    "2231": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "2233": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2234": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "2235": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "SUB",
      "path": "26"
    },
    "2236": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "2238": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2239": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "LT",
      "path": "26"
    },
    "2240": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2241": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x8C9"
    },
    "2244": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2245": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2247": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2248": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2249": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2250": {
      "op": "POP"
    },
    "2251": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2252": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2253": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2254": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2256": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2257": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "ADD",
      "path": "26"
    },
    "2258": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2259": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2260": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "2262": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "ADD",
      "path": "26"
    },
    "2263": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2264": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1F82"
    },
    "2267": {
      "fn": "MockUniswapV2Router02.quote",
      "jump": "i",
      "offset": [
        26654,
        26871
      ],
      "op": "JUMP",
      "path": "26"
    },
    "2268": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2269": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "2270": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2271": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2272": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x8E8"
    },
    "2275": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2276": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2278": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2279": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2280": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2281": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "POP",
      "path": "26"
    },
    "2282": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x22F"
    },
    "2285": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "2287": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2288": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "2289": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "SUB",
      "path": "26"
    },
    "2290": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xC0"
    },
    "2292": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2293": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "LT",
      "path": "26"
    },
    "2294": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2295": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x8FF"
    },
    "2298": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2299": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2301": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2302": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2303": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2304": {
      "op": "POP"
    },
    "2305": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2307": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2309": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2311": {
      "op": "SHL"
    },
    "2312": {
      "op": "SUB"
    },
    "2313": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2314": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2315": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2316": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "AND",
      "path": "26"
    },
    "2317": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2318": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2320": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2321": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "ADD",
      "path": "26"
    },
    "2322": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2323": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2324": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "2326": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2327": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "ADD",
      "path": "26"
    },
    "2328": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2329": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2330": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "2332": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2333": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "ADD",
      "path": "26"
    },
    "2334": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2335": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2336": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x80"
    },
    "2338": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2339": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "ADD",
      "path": "26"
    },
    "2340": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2341": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "AND",
      "path": "26"
    },
    "2342": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2343": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xA0"
    },
    "2345": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "ADD",
      "path": "26"
    },
    "2346": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2347": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1F8F"
    },
    "2350": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "jump": "i",
      "offset": [
        15661,
        16338
      ],
      "op": "JUMP",
      "path": "26"
    },
    "2351": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2352": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x186"
    },
    "2355": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "2357": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2358": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "2359": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "SUB",
      "path": "26"
    },
    "2360": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x80"
    },
    "2362": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2363": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "LT",
      "path": "26"
    },
    "2364": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2365": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x945"
    },
    "2368": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2369": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2371": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2372": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2373": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2374": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2375": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2376": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2377": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2378": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2379": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "ADD",
      "path": "26"
    },
    "2380": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2381": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "2383": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2384": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "ADD",
      "path": "26"
    },
    "2385": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2387": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2388": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "ADD",
      "path": "26"
    },
    "2389": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2390": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2392": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2394": {
      "op": "SHL"
    },
    "2395": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2396": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "GT",
      "path": "26"
    },
    "2397": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2398": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x966"
    },
    "2401": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2402": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2404": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2405": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2406": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2407": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2408": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "ADD",
      "path": "26"
    },
    "2409": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "DUP4",
      "path": "26"
    },
    "2410": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2412": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2413": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "ADD",
      "path": "26"
    },
    "2414": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "GT",
      "path": "26"
    },
    "2415": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2416": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x978"
    },
    "2419": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2420": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2422": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2423": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2424": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2425": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2426": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2427": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2428": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2430": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "ADD",
      "path": "26"
    },
    "2431": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2432": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "DUP5",
      "path": "26"
    },
    "2433": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2435": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "DUP4",
      "path": "26"
    },
    "2436": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "MUL",
      "path": "26"
    },
    "2437": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "DUP5",
      "path": "26"
    },
    "2438": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "ADD",
      "path": "26"
    },
    "2439": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "GT",
      "path": "26"
    },
    "2440": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2442": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2444": {
      "op": "SHL"
    },
    "2445": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "DUP4",
      "path": "26"
    },
    "2446": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "GT",
      "path": "26"
    },
    "2447": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "OR",
      "path": "26"
    },
    "2448": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2449": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x999"
    },
    "2452": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2453": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2455": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2456": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2457": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2458": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2459": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "2460": {
      "op": "POP"
    },
    "2461": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2462": {
      "op": "POP"
    },
    "2463": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2465": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2467": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2469": {
      "op": "SHL"
    },
    "2470": {
      "op": "SUB"
    },
    "2471": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2472": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2473": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "AND",
      "path": "26"
    },
    "2474": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2475": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2477": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "ADD",
      "path": "26"
    },
    "2478": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2479": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2115"
    },
    "2482": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "jump": "i",
      "offset": [
        24968,
        25787
      ],
      "op": "JUMP",
      "path": "26"
    },
    "2483": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2484": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "2485": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2486": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2487": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x9BF"
    },
    "2490": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2491": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2493": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2494": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2495": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2496": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "POP",
      "path": "26"
    },
    "2497": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1E0"
    },
    "2500": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "2502": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2503": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "2504": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "SUB",
      "path": "26"
    },
    "2505": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "2507": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2508": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "LT",
      "path": "26"
    },
    "2509": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2510": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x9D6"
    },
    "2513": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2514": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2516": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2517": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2518": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2519": {
      "op": "POP"
    },
    "2520": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2522": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2524": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2526": {
      "op": "SHL"
    },
    "2527": {
      "op": "SUB"
    },
    "2528": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2529": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2530": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2531": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "AND",
      "path": "26"
    },
    "2532": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2533": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2535": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2536": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "ADD",
      "path": "26"
    },
    "2537": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2538": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2539": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "AND",
      "path": "26"
    },
    "2540": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2541": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "2543": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2544": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "ADD",
      "path": "26"
    },
    "2545": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2546": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2547": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "2549": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2550": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "ADD",
      "path": "26"
    },
    "2551": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2552": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2553": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x80"
    },
    "2555": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2556": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "ADD",
      "path": "26"
    },
    "2557": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2558": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2559": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xA0"
    },
    "2561": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2562": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "ADD",
      "path": "26"
    },
    "2563": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2564": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2565": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2566": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "AND",
      "path": "26"
    },
    "2567": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2568": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xC0"
    },
    "2570": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "ADD",
      "path": "26"
    },
    "2571": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2572": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2486"
    },
    "2575": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "jump": "i",
      "offset": [
        12564,
        13438
      ],
      "op": "JUMP",
      "path": "26"
    },
    "2576": {
      "offset": [
        8836,
        8877
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2577": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8836,
        8877
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "2578": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8836,
        8877
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2579": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8836,
        8877
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2580": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8836,
        8877
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xA1C"
    },
    "2583": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8836,
        8877
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2584": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8836,
        8877
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2586": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8836,
        8877
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2587": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8836,
        8877
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2588": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8836,
        8877
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2589": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8836,
        8877
      ],
      "op": "POP",
      "path": "26"
    },
    "2590": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8836,
        8877
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x88A"
    },
    "2593": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8836,
        8877
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x26CA"
    },
    "2596": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "jump": "i",
      "offset": [
        8836,
        8877
      ],
      "op": "JUMP",
      "path": "26"
    },
    "2597": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2598": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "2599": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2600": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2601": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xA31"
    },
    "2604": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2605": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2607": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2608": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2609": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2610": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "POP",
      "path": "26"
    },
    "2611": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2D7"
    },
    "2614": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "2616": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2617": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "2618": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "SUB",
      "path": "26"
    },
    "2619": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "2621": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2622": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "LT",
      "path": "26"
    },
    "2623": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2624": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xA48"
    },
    "2627": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2628": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2630": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2631": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2632": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2633": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2634": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2635": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2636": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2637": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2638": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "ADD",
      "path": "26"
    },
    "2639": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2640": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "2642": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2643": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "ADD",
      "path": "26"
    },
    "2644": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2646": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2647": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "ADD",
      "path": "26"
    },
    "2648": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2649": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2651": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2653": {
      "op": "SHL"
    },
    "2654": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2655": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "GT",
      "path": "26"
    },
    "2656": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2657": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xA69"
    },
    "2660": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2661": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2663": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2664": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2665": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2666": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2667": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "ADD",
      "path": "26"
    },
    "2668": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP4",
      "path": "26"
    },
    "2669": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2671": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2672": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "ADD",
      "path": "26"
    },
    "2673": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "GT",
      "path": "26"
    },
    "2674": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2675": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xA7B"
    },
    "2678": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2679": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2681": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2682": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2683": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2684": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2685": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2686": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2687": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2689": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "ADD",
      "path": "26"
    },
    "2690": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2691": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP5",
      "path": "26"
    },
    "2692": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2694": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP4",
      "path": "26"
    },
    "2695": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "MUL",
      "path": "26"
    },
    "2696": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP5",
      "path": "26"
    },
    "2697": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "ADD",
      "path": "26"
    },
    "2698": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "GT",
      "path": "26"
    },
    "2699": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2701": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2703": {
      "op": "SHL"
    },
    "2704": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP4",
      "path": "26"
    },
    "2705": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "GT",
      "path": "26"
    },
    "2706": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "OR",
      "path": "26"
    },
    "2707": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2708": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xA9C"
    },
    "2711": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2712": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2714": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2715": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2716": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2717": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2718": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2719": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2720": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2721": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2723": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "MUL",
      "path": "26"
    },
    "2724": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2726": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "ADD",
      "path": "26"
    },
    "2727": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "2729": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "2730": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2731": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2732": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "ADD",
      "path": "26"
    },
    "2733": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "2735": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "2736": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2737": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "2738": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "2739": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2740": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2741": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2742": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2743": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "2744": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2746": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "ADD",
      "path": "26"
    },
    "2747": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP4",
      "path": "26"
    },
    "2748": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP4",
      "path": "26"
    },
    "2749": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2751": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "MUL",
      "path": "26"
    },
    "2752": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2753": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2754": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "DUP5",
      "path": "26"
    },
    "2755": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "CALLDATACOPY",
      "path": "26"
    },
    "2756": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2758": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "2759": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "ADD",
      "path": "26"
    },
    "2760": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2761": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2762": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2763": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "2764": {
      "op": "POP"
    },
    "2765": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "2766": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "SWAP6",
      "path": "26"
    },
    "2767": {
      "op": "POP"
    },
    "2768": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x26EE"
    },
    "2771": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "SWAP5",
      "path": "26"
    },
    "2772": {
      "op": "POP"
    },
    "2773": {
      "op": "POP"
    },
    "2774": {
      "op": "POP"
    },
    "2775": {
      "op": "POP"
    },
    "2776": {
      "op": "POP"
    },
    "2777": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "jump": "i",
      "offset": [
        27364,
        27602
      ],
      "op": "JUMP",
      "path": "26"
    },
    "2778": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2779": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "2780": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2781": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2782": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xAE6"
    },
    "2785": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2786": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2788": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2789": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2790": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2791": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "POP",
      "path": "26"
    },
    "2792": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1E0"
    },
    "2795": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "2797": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2798": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "2799": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "SUB",
      "path": "26"
    },
    "2800": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x140"
    },
    "2803": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2804": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "LT",
      "path": "26"
    },
    "2805": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2806": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xAFE"
    },
    "2809": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2810": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2812": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2813": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2814": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2815": {
      "op": "POP"
    },
    "2816": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2818": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2820": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2822": {
      "op": "SHL"
    },
    "2823": {
      "op": "SUB"
    },
    "2824": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2825": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2826": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2827": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "AND",
      "path": "26"
    },
    "2828": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2829": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2831": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2832": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "ADD",
      "path": "26"
    },
    "2833": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2834": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2835": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "2837": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2838": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "ADD",
      "path": "26"
    },
    "2839": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2840": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2841": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "2843": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2844": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "ADD",
      "path": "26"
    },
    "2845": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2846": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2847": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x80"
    },
    "2849": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2850": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "ADD",
      "path": "26"
    },
    "2851": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2852": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "AND",
      "path": "26"
    },
    "2853": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2854": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xA0"
    },
    "2856": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2857": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "ADD",
      "path": "26"
    },
    "2858": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2859": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2860": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xC0"
    },
    "2862": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2863": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "ADD",
      "path": "26"
    },
    "2864": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2865": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2866": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2867": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2868": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xFF"
    },
    "2870": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "2872": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2873": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "ADD",
      "path": "26"
    },
    "2874": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2875": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "AND",
      "path": "26"
    },
    "2876": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2877": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x100"
    },
    "2880": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2881": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "ADD",
      "path": "26"
    },
    "2882": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2883": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2884": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x120"
    },
    "2887": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "ADD",
      "path": "26"
    },
    "2888": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2889": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x271B"
    },
    "2892": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "jump": "i",
      "offset": [
        14837,
        15589
      ],
      "op": "JUMP",
      "path": "26"
    },
    "2893": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2894": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "2895": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2896": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2897": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xB59"
    },
    "2900": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2901": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2903": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2904": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2905": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2906": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "POP",
      "path": "26"
    },
    "2907": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xBAF"
    },
    "2910": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "2912": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2913": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "2914": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SUB",
      "path": "26"
    },
    "2915": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x100"
    },
    "2918": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2919": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "LT",
      "path": "26"
    },
    "2920": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "2921": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xB71"
    },
    "2924": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "2925": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "2927": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2928": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "REVERT",
      "path": "26"
    },
    "2929": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2930": {
      "op": "POP"
    },
    "2931": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2933": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2935": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2937": {
      "op": "SHL"
    },
    "2938": {
      "op": "SUB"
    },
    "2939": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2940": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2941": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2942": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "AND",
      "path": "26"
    },
    "2943": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2944": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "2946": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2947": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "ADD",
      "path": "26"
    },
    "2948": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2949": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2950": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "AND",
      "path": "26"
    },
    "2951": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2952": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "2954": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2955": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "ADD",
      "path": "26"
    },
    "2956": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2957": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2958": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "2960": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2961": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "ADD",
      "path": "26"
    },
    "2962": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2963": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2964": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x80"
    },
    "2966": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2967": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "ADD",
      "path": "26"
    },
    "2968": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2969": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2970": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xA0"
    },
    "2972": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "DUP2",
      "path": "26"
    },
    "2973": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "ADD",
      "path": "26"
    },
    "2974": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2975": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "2976": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xC0"
    },
    "2978": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "DUP3",
      "path": "26"
    },
    "2979": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "ADD",
      "path": "26"
    },
    "2980": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2981": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "AND",
      "path": "26"
    },
    "2982": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "2983": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "2985": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "ADD",
      "path": "26"
    },
    "2986": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "2987": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x282F"
    },
    "2990": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "jump": "i",
      "offset": [
        10652,
        11491
      ],
      "op": "JUMP",
      "path": "26"
    },
    "2991": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "2992": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "2994": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "DUP1",
      "path": "26"
    },
    "2995": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "2996": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "2997": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "DUP5",
      "path": "26"
    },
    "2998": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "2999": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "3001": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "DUP5",
      "path": "26"
    },
    "3002": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "ADD",
      "path": "26"
    },
    "3003": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "3004": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3005": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "3006": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3007": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3008": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3009": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "ADD",
      "path": "26"
    },
    "3010": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3011": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "3012": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3013": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3014": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3015": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SUB",
      "path": "26"
    },
    "3016": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "3018": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "ADD",
      "path": "26"
    },
    "3019": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3020": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "RETURN",
      "path": "26"
    },
    "3021": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3022": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xBAF"
    },
    "3025": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "3027": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3028": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "3029": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "SUB",
      "path": "26"
    },
    "3030": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xC0"
    },
    "3032": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3033": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "LT",
      "path": "26"
    },
    "3034": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "3035": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xBE3"
    },
    "3038": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "3039": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "3041": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3042": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "REVERT",
      "path": "26"
    },
    "3043": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3044": {
      "op": "POP"
    },
    "3045": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3047": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3049": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3051": {
      "op": "SHL"
    },
    "3052": {
      "op": "SUB"
    },
    "3053": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3054": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "3055": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3056": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "AND",
      "path": "26"
    },
    "3057": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "3058": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "3060": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3061": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "ADD",
      "path": "26"
    },
    "3062": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "3063": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "3064": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "3066": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3067": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "ADD",
      "path": "26"
    },
    "3068": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "3069": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "3070": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "3072": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3073": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "ADD",
      "path": "26"
    },
    "3074": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "3075": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "3076": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x80"
    },
    "3078": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3079": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "ADD",
      "path": "26"
    },
    "3080": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "3081": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "AND",
      "path": "26"
    },
    "3082": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3083": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xA0"
    },
    "3085": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "ADD",
      "path": "26"
    },
    "3086": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "3087": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2962"
    },
    "3090": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "jump": "i",
      "offset": [
        11495,
        12528
      ],
      "op": "JUMP",
      "path": "26"
    },
    "3091": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3092": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2D7"
    },
    "3095": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "3097": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3098": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "3099": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "SUB",
      "path": "26"
    },
    "3100": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x80"
    },
    "3102": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3103": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "LT",
      "path": "26"
    },
    "3104": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "3105": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xC29"
    },
    "3108": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "3109": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "3111": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3112": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "REVERT",
      "path": "26"
    },
    "3113": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3114": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3115": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "3116": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "3117": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3118": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3119": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "ADD",
      "path": "26"
    },
    "3120": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3121": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "3123": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3124": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "ADD",
      "path": "26"
    },
    "3125": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "3127": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3128": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "ADD",
      "path": "26"
    },
    "3129": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "3130": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3132": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "3134": {
      "op": "SHL"
    },
    "3135": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3136": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "GT",
      "path": "26"
    },
    "3137": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "3138": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xC4A"
    },
    "3141": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "3142": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "3144": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3145": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "REVERT",
      "path": "26"
    },
    "3146": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3147": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3148": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "ADD",
      "path": "26"
    },
    "3149": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "DUP4",
      "path": "26"
    },
    "3150": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "3152": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3153": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "ADD",
      "path": "26"
    },
    "3154": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "GT",
      "path": "26"
    },
    "3155": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "3156": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xC5C"
    },
    "3159": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "3160": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "3162": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3163": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "REVERT",
      "path": "26"
    },
    "3164": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3165": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3166": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "3167": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3168": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "3170": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "ADD",
      "path": "26"
    },
    "3171": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "3172": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "DUP5",
      "path": "26"
    },
    "3173": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "3175": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "DUP4",
      "path": "26"
    },
    "3176": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "MUL",
      "path": "26"
    },
    "3177": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "DUP5",
      "path": "26"
    },
    "3178": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "ADD",
      "path": "26"
    },
    "3179": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "GT",
      "path": "26"
    },
    "3180": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3182": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "3184": {
      "op": "SHL"
    },
    "3185": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "DUP4",
      "path": "26"
    },
    "3186": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "GT",
      "path": "26"
    },
    "3187": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "OR",
      "path": "26"
    },
    "3188": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "3189": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xC7D"
    },
    "3192": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "3193": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "3195": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3196": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "REVERT",
      "path": "26"
    },
    "3197": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3198": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "3199": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "3200": {
      "op": "POP"
    },
    "3201": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "3202": {
      "op": "POP"
    },
    "3203": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3205": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3207": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3209": {
      "op": "SHL"
    },
    "3210": {
      "op": "SUB"
    },
    "3211": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3212": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "3213": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "AND",
      "path": "26"
    },
    "3214": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3215": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "3217": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "ADD",
      "path": "26"
    },
    "3218": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "3219": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2BF5"
    },
    "3222": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "jump": "i",
      "offset": [
        21895,
        22770
      ],
      "op": "JUMP",
      "path": "26"
    },
    "3223": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3224": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13646,
        13662
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "3226": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13664,
        13678
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3227": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13627,
        13635
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3228": {
      "offset": [
        8981,
        8996
      ],
      "op": "TIMESTAMP",
      "path": "26"
    },
    "3229": {
      "offset": [
        8969,
        8977
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3230": {
      "offset": [
        8969,
        8996
      ],
      "op": "LT",
      "path": "26"
    },
    "3231": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8969,
        8996
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "3232": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xCDE"
    },
    "3235": {
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "3236": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "3238": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3239": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "3240": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3244": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3246": {
      "op": "SHL"
    },
    "3247": {
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3248": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3249": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "3251": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "3253": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3254": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "3255": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3256": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x18"
    },
    "3258": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "3260": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3261": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "3262": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3263": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "3265": {
      "op": "DUP1"
    },
    "3266": {
      "op": "MLOAD"
    },
    "3267": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "3269": {
      "op": "PUSH2",
      "value": "0x45B6"
    },
    "3272": {
      "op": "DUP4"
    },
    "3273": {
      "op": "CODECOPY"
    },
    "3274": {
      "op": "DUP2"
    },
    "3275": {
      "op": "MLOAD"
    },
    "3276": {
      "op": "SWAP2"
    },
    "3277": {
      "op": "MSTORE"
    },
    "3278": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "3280": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3281": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "3282": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3283": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3284": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "3285": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3286": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3287": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3288": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "SUB",
      "path": "26"
    },
    "3289": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "3291": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "3292": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3293": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "REVERT",
      "path": "26"
    },
    "3294": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3295": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13713,
        13855
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 1,
      "value": "0xD0D"
    },
    "3298": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13736,
        13741
      ],
      "op": "DUP10",
      "path": "26"
    },
    "3299": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13749,
        13753
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "3332": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13761,
        13770
      ],
      "op": "DUP11",
      "path": "26"
    },
    "3333": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13778,
        13792
      ],
      "op": "DUP11",
      "path": "26"
    },
    "3334": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13800,
        13812
      ],
      "op": "DUP11",
      "path": "26"
    },
    "3335": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13828,
        13832
      ],
      "op": "ADDRESS",
      "path": "26"
    },
    "3336": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13841,
        13849
      ],
      "op": "DUP11",
      "path": "26"
    },
    "3337": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13713,
        13728
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2486"
    },
    "3340": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "jump": "i",
      "offset": [
        13713,
        13855
      ],
      "op": "JUMP",
      "path": "26"
    },
    "3341": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13713,
        13855
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3342": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13686,
        13855
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3343": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13686,
        13855
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "3344": {
      "op": "POP"
    },
    "3345": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13686,
        13855
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "3346": {
      "op": "POP"
    },
    "3347": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13861,
        13933
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 2,
      "value": "0xD1D"
    },
    "3350": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13910,
        13915
      ],
      "op": "DUP10",
      "path": "26"
    },
    "3351": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13917,
        13919
      ],
      "op": "DUP7",
      "path": "26"
    },
    "3352": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13686,
        13855
      ],
      "op": "DUP6",
      "path": "26"
    },
    "3353": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13861,
        13909
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2F6E"
    },
    "3356": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "jump": "i",
      "offset": [
        13861,
        13933
      ],
      "op": "JUMP",
      "path": "26"
    },
    "3357": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13861,
        13933
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3358": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13966,
        13970
      ],
      "op": "PUSH32",
      "path": "26",
      "statement": 3,
      "value": "0x0"
    },
    "3391": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3393": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3395": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3397": {
      "op": "SHL"
    },
    "3398": {
      "op": "SUB"
    },
    "3399": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13980
      ],
      "op": "AND",
      "path": "26"
    },
    "3400": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13980
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x2E1A7D4D"
    },
    "3405": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13981,
        13990
      ],
      "op": "DUP4",
      "path": "26"
    },
    "3406": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "3408": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "3409": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3410": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "3415": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "AND",
      "path": "26"
    },
    "3416": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "3418": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "SHL",
      "path": "26"
    },
    "3419": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3420": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3421": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "3423": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "ADD",
      "path": "26"
    },
    "3424": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3425": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3426": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3427": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3428": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "3430": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "ADD",
      "path": "26"
    },
    "3431": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "3432": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "POP",
      "path": "26"
    },
    "3433": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "POP",
      "path": "26"
    },
    "3434": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "3436": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "3438": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "3439": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3440": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "DUP4",
      "path": "26"
    },
    "3441": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "SUB",
      "path": "26"
    },
    "3442": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3443": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "3445": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "DUP8",
      "path": "26"
    },
    "3446": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3447": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "3448": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "3449": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3450": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "3451": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xD83"
    },
    "3454": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "3455": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "3457": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3458": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "REVERT",
      "path": "26"
    },
    "3459": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3460": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "POP",
      "path": "26"
    },
    "3461": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "GAS",
      "path": "26"
    },
    "3462": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "CALL",
      "path": "26"
    },
    "3463": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "3464": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3465": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "3466": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xD97"
    },
    "3469": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "3470": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "3471": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "3473": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3474": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "3475": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "3476": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "3478": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "REVERT",
      "path": "26"
    },
    "3479": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3480": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "POP",
      "path": "26"
    },
    "3481": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "POP",
      "path": "26"
    },
    "3482": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "POP",
      "path": "26"
    },
    "3483": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13939,
        13991
      ],
      "op": "POP",
      "path": "26"
    },
    "3484": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13997,
        14063
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 4,
      "value": "0xDA5"
    },
    "3487": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        14049,
        14051
      ],
      "op": "DUP6",
      "path": "26"
    },
    "3488": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        14053,
        14062
      ],
      "op": "DUP4",
      "path": "26"
    },
    "3489": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13997,
        14048
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x30C2"
    },
    "3492": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "jump": "i",
      "offset": [
        13997,
        14063
      ],
      "op": "JUMP",
      "path": "26"
    },
    "3493": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13997,
        14063
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3494": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "POP",
      "path": "26"
    },
    "3495": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "SWAP7",
      "path": "26"
    },
    "3496": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "POP",
      "path": "26"
    },
    "3497": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "SWAP7",
      "path": "26"
    },
    "3498": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "SWAP5",
      "path": "26"
    },
    "3499": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "POP",
      "path": "26"
    },
    "3500": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "POP",
      "path": "26"
    },
    "3501": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "POP",
      "path": "26"
    },
    "3502": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "POP",
      "path": "26"
    },
    "3503": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "offset": [
        13442,
        14068
      ],
      "op": "POP",
      "path": "26"
    },
    "3504": {
      "fn": "MockUniswapV2Router02.removeLiquidityETH",
      "jump": "o",
      "offset": [
        13442,
        14068
      ],
      "op": "JUMP",
      "path": "26"
    },
    "3505": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3506": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26999,
        27013
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "3508": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        27028,
        27111
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 5,
      "value": "0xDBE"
    },
    "3511": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        27079,
        27087
      ],
      "op": "DUP5",
      "path": "26"
    },
    "3512": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        27089,
        27098
      ],
      "op": "DUP5",
      "path": "26"
    },
    "3513": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        27100,
        27110
      ],
      "op": "DUP5",
      "path": "26"
    },
    "3514": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        27028,
        27078
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x31BA"
    },
    "3517": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "jump": "i",
      "offset": [
        27028,
        27111
      ],
      "op": "JUMP",
      "path": "26"
    },
    "3518": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        27028,
        27111
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3519": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        27021,
        27111
      ],
      "op": "SWAP5",
      "path": "26"
    },
    "3520": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "offset": [
        26875,
        27116
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "3521": {
      "op": "POP"
    },
    "3522": {
      "op": "POP"
    },
    "3523": {
      "op": "POP"
    },
    "3524": {
      "op": "POP"
    },
    "3525": {
      "fn": "MockUniswapV2Router02.getAmountOut",
      "jump": "o",
      "offset": [
        26875,
        27116
      ],
      "op": "JUMP",
      "path": "26"
    },
    "3526": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3527": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21169,
        21190
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "3529": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21150,
        21158
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3530": {
      "offset": [
        8981,
        8996
      ],
      "op": "TIMESTAMP",
      "path": "26"
    },
    "3531": {
      "offset": [
        8969,
        8977
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3532": {
      "offset": [
        8969,
        8996
      ],
      "op": "LT",
      "path": "26"
    },
    "3533": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8969,
        8996
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "3534": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xE0C"
    },
    "3537": {
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "3538": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "3540": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3541": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "3542": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3546": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3548": {
      "op": "SHL"
    },
    "3549": {
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3550": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3551": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "3553": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "3555": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3556": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "3557": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3558": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x18"
    },
    "3560": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "3562": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3563": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "3564": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3565": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "3567": {
      "op": "DUP1"
    },
    "3568": {
      "op": "MLOAD"
    },
    "3569": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "3571": {
      "op": "PUSH2",
      "value": "0x45B6"
    },
    "3574": {
      "op": "DUP4"
    },
    "3575": {
      "op": "CODECOPY"
    },
    "3576": {
      "op": "DUP2"
    },
    "3577": {
      "op": "MLOAD"
    },
    "3578": {
      "op": "SWAP2"
    },
    "3579": {
      "op": "MSTORE"
    },
    "3580": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "3582": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3583": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "3584": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3585": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3586": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "3587": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3588": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3589": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3590": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "SUB",
      "path": "26"
    },
    "3591": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "3593": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "3594": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3595": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "REVERT",
      "path": "26"
    },
    "3596": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3597": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3599": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3601": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3603": {
      "op": "SHL"
    },
    "3604": {
      "op": "SUB"
    },
    "3605": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21231,
        21235
      ],
      "op": "PUSH32",
      "path": "26",
      "statement": 6,
      "value": "0x0"
    },
    "3638": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21206,
        21235
      ],
      "op": "AND",
      "path": "26"
    },
    "3639": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21206,
        21210
      ],
      "op": "DUP7",
      "path": "26"
    },
    "3640": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21206,
        21210
      ],
      "op": "DUP7",
      "path": "26"
    },
    "3641": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "3643": {
      "op": "NOT"
    },
    "3644": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21211,
        21226
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3645": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21211,
        21226
      ],
      "op": "ADD",
      "path": "26"
    },
    "3646": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21206,
        21227
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3647": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21206,
        21227
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3648": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21206,
        21227
      ],
      "op": "LT",
      "path": "26"
    },
    "3649": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21206,
        21227
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xE46"
    },
    "3652": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21206,
        21227
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "3653": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21206,
        21227
      ],
      "op": "INVALID",
      "path": "26"
    },
    "3654": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21206,
        21227
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3655": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21206,
        21227
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3656": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21206,
        21227
      ],
      "op": "POP",
      "path": "26"
    },
    "3657": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21206,
        21227
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "3659": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21206,
        21227
      ],
      "op": "MUL",
      "path": "26"
    },
    "3660": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21206,
        21227
      ],
      "op": "ADD",
      "path": "26"
    },
    "3661": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21206,
        21227
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "3662": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3664": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3666": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3668": {
      "op": "SHL"
    },
    "3669": {
      "op": "SUB"
    },
    "3670": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21206,
        21227
      ],
      "op": "AND",
      "path": "26"
    },
    "3671": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3673": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3675": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3677": {
      "op": "SHL"
    },
    "3678": {
      "op": "SUB"
    },
    "3679": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21206,
        21235
      ],
      "op": "AND",
      "path": "26"
    },
    "3680": {
      "branch": 120,
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21206,
        21235
      ],
      "op": "EQ",
      "path": "26"
    },
    "3681": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xE9F"
    },
    "3684": {
      "branch": 120,
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "3685": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "3687": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3688": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "3689": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3693": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3695": {
      "op": "SHL"
    },
    "3696": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3697": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3698": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "3700": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "3702": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3703": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "ADD",
      "path": "26"
    },
    "3704": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3705": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1D"
    },
    "3707": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "3709": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3710": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "ADD",
      "path": "26"
    },
    "3711": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3712": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "3714": {
      "op": "DUP1"
    },
    "3715": {
      "op": "MLOAD"
    },
    "3716": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "3718": {
      "op": "PUSH2",
      "value": "0x4464"
    },
    "3721": {
      "op": "DUP4"
    },
    "3722": {
      "op": "CODECOPY"
    },
    "3723": {
      "op": "DUP2"
    },
    "3724": {
      "op": "MLOAD"
    },
    "3725": {
      "op": "SWAP2"
    },
    "3726": {
      "op": "MSTORE"
    },
    "3727": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "3729": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3730": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "ADD",
      "path": "26"
    },
    "3731": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3732": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3733": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "3734": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3735": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3736": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3737": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "SUB",
      "path": "26"
    },
    "3738": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "3740": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "ADD",
      "path": "26"
    },
    "3741": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3742": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "REVERT",
      "path": "26"
    },
    "3743": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21198,
        21269
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3744": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 7,
      "value": "0xEFD"
    },
    "3747": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21337,
        21344
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "3780": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21346,
        21354
      ],
      "op": "DUP10",
      "path": "26"
    },
    "3781": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21356,
        21360
      ],
      "op": "DUP9",
      "path": "26"
    },
    "3782": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21356,
        21360
      ],
      "op": "DUP9",
      "path": "26"
    },
    "3783": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3784": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3785": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "3787": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "MUL",
      "path": "26"
    },
    "3788": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "3790": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "ADD",
      "path": "26"
    },
    "3791": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "3793": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "3794": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3795": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3796": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "ADD",
      "path": "26"
    },
    "3797": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "3799": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3800": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3801": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "3802": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "3803": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "3804": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3805": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3806": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3807": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3808": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "3810": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "ADD",
      "path": "26"
    },
    "3811": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "DUP4",
      "path": "26"
    },
    "3812": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "DUP4",
      "path": "26"
    },
    "3813": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "3815": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "MUL",
      "path": "26"
    },
    "3816": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3817": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3818": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "DUP5",
      "path": "26"
    },
    "3819": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "CALLDATACOPY",
      "path": "26"
    },
    "3820": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "3822": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "3823": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "ADD",
      "path": "26"
    },
    "3824": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "3825": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3826": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "3827": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3828": {
      "op": "POP"
    },
    "3829": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21336
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3292"
    },
    "3832": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21336
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "3833": {
      "op": "POP"
    },
    "3834": {
      "op": "POP"
    },
    "3835": {
      "op": "POP"
    },
    "3836": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "jump": "i",
      "offset": [
        21285,
        21361
      ],
      "op": "JUMP",
      "path": "26"
    },
    "3837": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21285,
        21361
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3838": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21275,
        21361
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "3839": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21275,
        21361
      ],
      "op": "POP",
      "path": "26"
    },
    "3840": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21413,
        21425
      ],
      "op": "DUP7",
      "path": "26",
      "statement": 8
    },
    "3841": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21382,
        21389
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3842": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21407,
        21408
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "3844": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21390,
        21397
      ],
      "op": "DUP5",
      "path": "26"
    },
    "3845": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21390,
        21404
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "3846": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21390,
        21408
      ],
      "op": "SUB",
      "path": "26"
    },
    "3847": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21382,
        21409
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3848": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21382,
        21409
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "3849": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21382,
        21409
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3850": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21382,
        21409
      ],
      "op": "LT",
      "path": "26"
    },
    "3851": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21382,
        21409
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xF10"
    },
    "3854": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21382,
        21409
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "3855": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21382,
        21409
      ],
      "op": "INVALID",
      "path": "26"
    },
    "3856": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21382,
        21409
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3857": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21382,
        21409
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "3859": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21382,
        21409
      ],
      "op": "MUL",
      "path": "26"
    },
    "3860": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21382,
        21409
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "3862": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21382,
        21409
      ],
      "op": "ADD",
      "path": "26"
    },
    "3863": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21382,
        21409
      ],
      "op": "ADD",
      "path": "26"
    },
    "3864": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21382,
        21409
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "3865": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21382,
        21425
      ],
      "op": "LT",
      "path": "26"
    },
    "3866": {
      "branch": 121,
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21382,
        21425
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "3867": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xF55"
    },
    "3870": {
      "branch": 121,
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "3871": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "3873": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "3874": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3878": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3880": {
      "op": "SHL"
    },
    "3881": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3882": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3883": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "3885": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "ADD",
      "path": "26"
    },
    "3886": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3887": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3888": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "3890": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "ADD",
      "path": "26"
    },
    "3891": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3892": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3893": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "SUB",
      "path": "26"
    },
    "3894": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "DUP3",
      "path": "26"
    },
    "3895": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3896": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x2B"
    },
    "3898": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3899": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "3900": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "3902": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "ADD",
      "path": "26"
    },
    "3903": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3904": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4551"
    },
    "3907": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x2B"
    },
    "3909": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "3910": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "3911": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "3913": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "ADD",
      "path": "26"
    },
    "3914": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "3915": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "POP",
      "path": "26"
    },
    "3916": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "POP",
      "path": "26"
    },
    "3917": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "3919": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "3920": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "DUP1",
      "path": "26"
    },
    "3921": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "3922": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "SUB",
      "path": "26"
    },
    "3923": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3924": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "REVERT",
      "path": "26"
    },
    "3925": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21367,
        21484
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3926": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21490,
        21679
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 9,
      "value": "0xFF3"
    },
    "3929": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21550,
        21554
      ],
      "op": "DUP7",
      "path": "26"
    },
    "3930": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21550,
        21554
      ],
      "op": "DUP7",
      "path": "26"
    },
    "3931": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21555,
        21556
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "3933": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21550,
        21557
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3934": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21550,
        21557
      ],
      "op": "DUP2",
      "path": "26"
    },
    "3935": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21550,
        21557
      ],
      "op": "LT",
      "path": "26"
    },
    "3936": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21550,
        21557
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xF65"
    },
    "3939": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21550,
        21557
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "3940": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21550,
        21557
      ],
      "op": "INVALID",
      "path": "26"
    },
    "3941": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21550,
        21557
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "3942": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21550,
        21557
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "3943": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21550,
        21557
      ],
      "op": "POP",
      "path": "26"
    },
    "3944": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21550,
        21557
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "3946": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21550,
        21557
      ],
      "op": "MUL",
      "path": "26"
    },
    "3947": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21550,
        21557
      ],
      "op": "ADD",
      "path": "26"
    },
    "3948": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21550,
        21557
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "3949": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3951": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3953": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3955": {
      "op": "SHL"
    },
    "3956": {
      "op": "SUB"
    },
    "3957": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21550,
        21557
      ],
      "op": "AND",
      "path": "26"
    },
    "3958": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21565,
        21575
      ],
      "op": "CALLER",
      "path": "26"
    },
    "3959": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21583,
        21655
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xFD9"
    },
    "3962": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21629,
        21636
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "3995": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21638,
        21642
      ],
      "op": "DUP11",
      "path": "26"
    },
    "3996": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21638,
        21642
      ],
      "op": "DUP11",
      "path": "26"
    },
    "3997": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21643,
        21644
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "3999": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21638,
        21645
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4000": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21638,
        21645
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4001": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21638,
        21645
      ],
      "op": "LT",
      "path": "26"
    },
    "4002": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21638,
        21645
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xFA7"
    },
    "4005": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21638,
        21645
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "4006": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21638,
        21645
      ],
      "op": "INVALID",
      "path": "26"
    },
    "4007": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21638,
        21645
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4008": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21638,
        21645
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4009": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21638,
        21645
      ],
      "op": "POP",
      "path": "26"
    },
    "4010": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21638,
        21645
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4012": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21638,
        21645
      ],
      "op": "MUL",
      "path": "26"
    },
    "4013": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21638,
        21645
      ],
      "op": "ADD",
      "path": "26"
    },
    "4014": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21638,
        21645
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "4015": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4017": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4019": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4021": {
      "op": "SHL"
    },
    "4022": {
      "op": "SUB"
    },
    "4023": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21638,
        21645
      ],
      "op": "AND",
      "path": "26"
    },
    "4024": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21647,
        21651
      ],
      "op": "DUP12",
      "path": "26"
    },
    "4025": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21647,
        21651
      ],
      "op": "DUP12",
      "path": "26"
    },
    "4026": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21652,
        21653
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "4028": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21647,
        21654
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4029": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21647,
        21654
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4030": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21647,
        21654
      ],
      "op": "LT",
      "path": "26"
    },
    "4031": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21647,
        21654
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xFC4"
    },
    "4034": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21647,
        21654
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "4035": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21647,
        21654
      ],
      "op": "INVALID",
      "path": "26"
    },
    "4036": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21647,
        21654
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4037": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21647,
        21654
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4038": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21647,
        21654
      ],
      "op": "POP",
      "path": "26"
    },
    "4039": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21647,
        21654
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4041": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21647,
        21654
      ],
      "op": "MUL",
      "path": "26"
    },
    "4042": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21647,
        21654
      ],
      "op": "ADD",
      "path": "26"
    },
    "4043": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21647,
        21654
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "4044": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4046": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4048": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4050": {
      "op": "SHL"
    },
    "4051": {
      "op": "SUB"
    },
    "4052": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21647,
        21654
      ],
      "op": "AND",
      "path": "26"
    },
    "4053": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21583,
        21628
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x33C8"
    },
    "4056": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "jump": "i",
      "offset": [
        21583,
        21655
      ],
      "op": "JUMP",
      "path": "26"
    },
    "4057": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21583,
        21655
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4058": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21663,
        21670
      ],
      "op": "DUP6",
      "path": "26"
    },
    "4059": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21671,
        21672
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "4061": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21663,
        21673
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4062": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21663,
        21673
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4063": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21663,
        21673
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4064": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21663,
        21673
      ],
      "op": "LT",
      "path": "26"
    },
    "4065": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21663,
        21673
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xFE6"
    },
    "4068": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21663,
        21673
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "4069": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21663,
        21673
      ],
      "op": "INVALID",
      "path": "26"
    },
    "4070": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21663,
        21673
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4071": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21663,
        21673
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4073": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21663,
        21673
      ],
      "op": "MUL",
      "path": "26"
    },
    "4074": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21663,
        21673
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4076": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21663,
        21673
      ],
      "op": "ADD",
      "path": "26"
    },
    "4077": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21663,
        21673
      ],
      "op": "ADD",
      "path": "26"
    },
    "4078": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21663,
        21673
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4079": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21490,
        21542
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x345C"
    },
    "4082": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "jump": "i",
      "offset": [
        21490,
        21679
      ],
      "op": "JUMP",
      "path": "26"
    },
    "4083": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21490,
        21679
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4084": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 10,
      "value": "0x1032"
    },
    "4087": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21691,
        21698
      ],
      "op": "DUP3",
      "path": "26"
    },
    "4088": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21700,
        21704
      ],
      "op": "DUP8",
      "path": "26"
    },
    "4089": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21700,
        21704
      ],
      "op": "DUP8",
      "path": "26"
    },
    "4090": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4091": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4092": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4094": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "MUL",
      "path": "26"
    },
    "4095": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4097": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "ADD",
      "path": "26"
    },
    "4098": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "4100": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4101": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4102": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4103": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "ADD",
      "path": "26"
    },
    "4104": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "4106": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4107": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4108": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "4109": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "4110": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "4111": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4112": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4113": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4114": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4115": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4117": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "ADD",
      "path": "26"
    },
    "4118": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "DUP4",
      "path": "26"
    },
    "4119": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "DUP4",
      "path": "26"
    },
    "4120": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4122": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "MUL",
      "path": "26"
    },
    "4123": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4124": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "DUP3",
      "path": "26"
    },
    "4125": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "DUP5",
      "path": "26"
    },
    "4126": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "CALLDATACOPY",
      "path": "26"
    },
    "4127": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "4129": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "4130": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "ADD",
      "path": "26"
    },
    "4131": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "4132": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4133": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "4134": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4135": {
      "op": "POP"
    },
    "4136": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21714,
        21718
      ],
      "op": "ADDRESS",
      "path": "26"
    },
    "4137": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21714,
        21718
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "4138": {
      "op": "POP"
    },
    "4139": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21690
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x35B9"
    },
    "4142": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21690
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "4143": {
      "op": "POP"
    },
    "4144": {
      "op": "POP"
    },
    "4145": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "jump": "i",
      "offset": [
        21685,
        21720
      ],
      "op": "JUMP",
      "path": "26"
    },
    "4146": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21685,
        21720
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4147": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21753,
        21757
      ],
      "op": "PUSH32",
      "path": "26",
      "statement": 11,
      "value": "0x0"
    },
    "4180": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4182": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4184": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4186": {
      "op": "SHL"
    },
    "4187": {
      "op": "SUB"
    },
    "4188": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21767
      ],
      "op": "AND",
      "path": "26"
    },
    "4189": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21767
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x2E1A7D4D"
    },
    "4194": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21768,
        21775
      ],
      "op": "DUP4",
      "path": "26"
    },
    "4195": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21793,
        21794
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "4197": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21776,
        21783
      ],
      "op": "DUP6",
      "path": "26"
    },
    "4198": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21776,
        21790
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4199": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21776,
        21794
      ],
      "op": "SUB",
      "path": "26"
    },
    "4200": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21768,
        21795
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4201": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21768,
        21795
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4202": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21768,
        21795
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4203": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21768,
        21795
      ],
      "op": "LT",
      "path": "26"
    },
    "4204": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21768,
        21795
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1071"
    },
    "4207": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21768,
        21795
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "4208": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21768,
        21795
      ],
      "op": "INVALID",
      "path": "26"
    },
    "4209": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21768,
        21795
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4210": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21768,
        21795
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4212": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21768,
        21795
      ],
      "op": "MUL",
      "path": "26"
    },
    "4213": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21768,
        21795
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4215": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21768,
        21795
      ],
      "op": "ADD",
      "path": "26"
    },
    "4216": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21768,
        21795
      ],
      "op": "ADD",
      "path": "26"
    },
    "4217": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21768,
        21795
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4218": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "4220": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4221": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "DUP3",
      "path": "26"
    },
    "4222": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "4227": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "AND",
      "path": "26"
    },
    "4228": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "4230": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "SHL",
      "path": "26"
    },
    "4231": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4232": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4233": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "4235": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "ADD",
      "path": "26"
    },
    "4236": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4237": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "DUP3",
      "path": "26"
    },
    "4238": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4239": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4240": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4242": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "ADD",
      "path": "26"
    },
    "4243": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "4244": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "POP",
      "path": "26"
    },
    "4245": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "POP",
      "path": "26"
    },
    "4246": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "4248": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "4250": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4251": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4252": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "DUP4",
      "path": "26"
    },
    "4253": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "SUB",
      "path": "26"
    },
    "4254": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4255": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "4257": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "DUP8",
      "path": "26"
    },
    "4258": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4259": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "4260": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "4261": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4262": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "4263": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x10AF"
    },
    "4266": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "4267": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "4269": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4270": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "REVERT",
      "path": "26"
    },
    "4271": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4272": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "POP",
      "path": "26"
    },
    "4273": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "GAS",
      "path": "26"
    },
    "4274": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "CALL",
      "path": "26"
    },
    "4275": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "4276": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4277": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "4278": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x10C3"
    },
    "4281": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "4282": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "4283": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "4285": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4286": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "4287": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "4288": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "4290": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "REVERT",
      "path": "26"
    },
    "4291": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4292": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "POP",
      "path": "26"
    },
    "4293": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "POP",
      "path": "26"
    },
    "4294": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "POP",
      "path": "26"
    },
    "4295": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21726,
        21796
      ],
      "op": "POP",
      "path": "26"
    },
    "4296": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21802,
        21886
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 12,
      "value": "0x10E8"
    },
    "4299": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21854,
        21856
      ],
      "op": "DUP5",
      "path": "26"
    },
    "4300": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21858,
        21865
      ],
      "op": "DUP4",
      "path": "26"
    },
    "4301": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21883,
        21884
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "4303": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21866,
        21873
      ],
      "op": "DUP6",
      "path": "26"
    },
    "4304": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21866,
        21880
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4305": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21866,
        21884
      ],
      "op": "SUB",
      "path": "26"
    },
    "4306": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21858,
        21885
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4307": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21858,
        21885
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4308": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21858,
        21885
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4309": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21858,
        21885
      ],
      "op": "LT",
      "path": "26"
    },
    "4310": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21858,
        21885
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x10DB"
    },
    "4313": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21858,
        21885
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "4314": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21858,
        21885
      ],
      "op": "INVALID",
      "path": "26"
    },
    "4315": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21858,
        21885
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4316": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21858,
        21885
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4318": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21858,
        21885
      ],
      "op": "MUL",
      "path": "26"
    },
    "4319": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21858,
        21885
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4321": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21858,
        21885
      ],
      "op": "ADD",
      "path": "26"
    },
    "4322": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21858,
        21885
      ],
      "op": "ADD",
      "path": "26"
    },
    "4323": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21858,
        21885
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4324": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21802,
        21853
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x30C2"
    },
    "4327": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "jump": "i",
      "offset": [
        21802,
        21886
      ],
      "op": "JUMP",
      "path": "26"
    },
    "4328": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        21802,
        21886
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4329": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "POP",
      "path": "26"
    },
    "4330": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SWAP7",
      "path": "26"
    },
    "4331": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "SWAP6",
      "path": "26"
    },
    "4332": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "POP",
      "path": "26"
    },
    "4333": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "POP",
      "path": "26"
    },
    "4334": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "POP",
      "path": "26"
    },
    "4335": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "POP",
      "path": "26"
    },
    "4336": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "POP",
      "path": "26"
    },
    "4337": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "offset": [
        20976,
        21891
      ],
      "op": "POP",
      "path": "26"
    },
    "4338": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETH",
      "jump": "o",
      "offset": [
        20976,
        21891
      ],
      "op": "JUMP",
      "path": "26"
    },
    "4339": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4340": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27725,
        27746
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "4342": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27763,
        27839
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 13,
      "value": "0x1120"
    },
    "4345": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27814,
        27821
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "4378": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27823,
        27832
      ],
      "op": "DUP5",
      "path": "26"
    },
    "4379": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27834,
        27838
      ],
      "op": "DUP5",
      "path": "26"
    },
    "4380": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27763,
        27813
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x37F6"
    },
    "4383": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "jump": "i",
      "offset": [
        27763,
        27839
      ],
      "op": "JUMP",
      "path": "26"
    },
    "4384": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27763,
        27839
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4385": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27756,
        27839
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4386": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27756,
        27839
      ],
      "op": "POP",
      "path": "26"
    },
    "4387": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4388": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "4389": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "4390": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "POP",
      "path": "26"
    },
    "4391": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "offset": [
        27606,
        27844
      ],
      "op": "POP",
      "path": "26"
    },
    "4392": {
      "fn": "MockUniswapV2Router02.getAmountsIn",
      "jump": "o",
      "offset": [
        27606,
        27844
      ],
      "op": "JUMP",
      "path": "26"
    },
    "4393": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4394": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14347,
        14359
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "4396": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14361,
        14373
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4397": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14381,
        14393
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "4399": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14396,
        14466
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1159"
    },
    "4402": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14442,
        14449
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "4435": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14451,
        14457
      ],
      "op": "DUP16",
      "path": "26"
    },
    "4436": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14459,
        14465
      ],
      "op": "DUP16",
      "path": "26"
    },
    "4437": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14396,
        14441
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x33C8"
    },
    "4440": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "jump": "i",
      "offset": [
        14396,
        14466
      ],
      "op": "JUMP",
      "path": "26"
    },
    "4441": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14396,
        14466
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4442": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14381,
        14466
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4443": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14381,
        14466
      ],
      "op": "POP",
      "path": "26"
    },
    "4444": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14472,
        14482
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "4446": {
      "branch": 122,
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14485,
        14495
      ],
      "op": "DUP8",
      "path": "26"
    },
    "4447": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14485,
        14518
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1168"
    },
    "4450": {
      "branch": 122,
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14485,
        14518
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "4451": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14509,
        14518
      ],
      "op": "DUP13",
      "path": "26"
    },
    "4452": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14485,
        14518
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x116C"
    },
    "4455": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14485,
        14518
      ],
      "op": "JUMP",
      "path": "26"
    },
    "4456": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14485,
        14518
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4457": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "4459": {
      "op": "NOT"
    },
    "4460": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14485,
        14518
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4461": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "PUSH1",
      "path": "26",
      "statement": 14,
      "value": "0x40"
    },
    "4463": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4464": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4465": {
      "op": "PUSH4",
      "value": "0xD505ACCF"
    },
    "4470": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "4472": {
      "op": "SHL"
    },
    "4473": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4474": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4475": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14580,
        14590
      ],
      "op": "CALLER",
      "path": "26"
    },
    "4476": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "4478": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP3",
      "path": "26"
    },
    "4479": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "ADD",
      "path": "26"
    },
    "4480": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4481": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14606,
        14610
      ],
      "op": "ADDRESS",
      "path": "26"
    },
    "4482": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "4484": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP3",
      "path": "26"
    },
    "4485": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "ADD",
      "path": "26"
    },
    "4486": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4487": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "4489": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4490": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "ADD",
      "path": "26"
    },
    "4491": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP4",
      "path": "26"
    },
    "4492": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4493": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4494": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "4496": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4497": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "ADD",
      "path": "26"
    },
    "4498": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP13",
      "path": "26"
    },
    "4499": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4500": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4501": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xFF"
    },
    "4503": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP11",
      "path": "26"
    },
    "4504": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "AND",
      "path": "26"
    },
    "4505": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x84"
    },
    "4507": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP3",
      "path": "26"
    },
    "4508": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "ADD",
      "path": "26"
    },
    "4509": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4510": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xA4"
    },
    "4512": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4513": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "ADD",
      "path": "26"
    },
    "4514": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP10",
      "path": "26"
    },
    "4515": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4516": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4517": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xC4"
    },
    "4519": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4520": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "ADD",
      "path": "26"
    },
    "4521": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP9",
      "path": "26"
    },
    "4522": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4523": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4524": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4525": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4526": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14472,
        14518
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "4527": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14472,
        14518
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "4528": {
      "op": "POP"
    },
    "4529": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4531": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4533": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4535": {
      "op": "SHL"
    },
    "4536": {
      "op": "SUB"
    },
    "4537": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14572
      ],
      "op": "DUP5",
      "path": "26"
    },
    "4538": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14572
      ],
      "op": "AND",
      "path": "26"
    },
    "4539": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14572
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "4540": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14572
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xD505ACCF"
    },
    "4545": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14572
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "4546": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE4"
    },
    "4548": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4549": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP3",
      "path": "26"
    },
    "4550": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "ADD",
      "path": "26"
    },
    "4551": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "4552": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "4554": {
      "op": "SWAP3"
    },
    "4555": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4556": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "4557": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4558": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP3",
      "path": "26"
    },
    "4559": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4560": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "SUB",
      "path": "26"
    },
    "4561": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "ADD",
      "path": "26"
    },
    "4562": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4563": {
      "op": "DUP4"
    },
    "4564": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14572
      ],
      "op": "DUP8",
      "path": "26"
    },
    "4565": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4566": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "4567": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "4568": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4569": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "4570": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x11E2"
    },
    "4573": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "4574": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "4576": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4577": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "REVERT",
      "path": "26"
    },
    "4578": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4579": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "POP",
      "path": "26"
    },
    "4580": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "GAS",
      "path": "26"
    },
    "4581": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "CALL",
      "path": "26"
    },
    "4582": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "4583": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4584": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "4585": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x11F6"
    },
    "4588": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "4589": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "4590": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "4592": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4593": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "4594": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "4595": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "4597": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "REVERT",
      "path": "26"
    },
    "4598": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4599": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "POP",
      "path": "26"
    },
    "4600": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "POP",
      "path": "26"
    },
    "4601": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "POP",
      "path": "26"
    },
    "4602": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14524,
        14673
      ],
      "op": "POP",
      "path": "26"
    },
    "4603": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14700,
        14828
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 15,
      "value": "0x1209"
    },
    "4606": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14723,
        14729
      ],
      "op": "DUP16",
      "path": "26"
    },
    "4607": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14737,
        14743
      ],
      "op": "DUP16",
      "path": "26"
    },
    "4608": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14751,
        14760
      ],
      "op": "DUP16",
      "path": "26"
    },
    "4609": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14768,
        14778
      ],
      "op": "DUP16",
      "path": "26"
    },
    "4610": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14786,
        14796
      ],
      "op": "DUP16",
      "path": "26"
    },
    "4611": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14804,
        14806
      ],
      "op": "DUP16",
      "path": "26"
    },
    "4612": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14814,
        14822
      ],
      "op": "DUP16",
      "path": "26"
    },
    "4613": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14700,
        14715
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2486"
    },
    "4616": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "jump": "i",
      "offset": [
        14700,
        14828
      ],
      "op": "JUMP",
      "path": "26"
    },
    "4617": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14700,
        14828
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4618": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14679,
        14828
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4619": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14679,
        14828
      ],
      "op": "SWAP5",
      "path": "26"
    },
    "4620": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14679,
        14828
      ],
      "op": "POP",
      "path": "26"
    },
    "4621": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14679,
        14828
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4622": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14679,
        14828
      ],
      "op": "SWAP6",
      "path": "26"
    },
    "4623": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14679,
        14828
      ],
      "op": "POP",
      "path": "26"
    },
    "4624": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14679,
        14828
      ],
      "op": "POP",
      "path": "26"
    },
    "4625": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14679,
        14828
      ],
      "op": "POP",
      "path": "26"
    },
    "4626": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "POP",
      "path": "26"
    },
    "4627": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "POP",
      "path": "26"
    },
    "4628": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "SWAP12",
      "path": "26"
    },
    "4629": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "POP",
      "path": "26"
    },
    "4630": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "SWAP12",
      "path": "26"
    },
    "4631": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "SWAP10",
      "path": "26"
    },
    "4632": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "POP",
      "path": "26"
    },
    "4633": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "POP",
      "path": "26"
    },
    "4634": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "POP",
      "path": "26"
    },
    "4635": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "POP",
      "path": "26"
    },
    "4636": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "POP",
      "path": "26"
    },
    "4637": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "POP",
      "path": "26"
    },
    "4638": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "POP",
      "path": "26"
    },
    "4639": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "POP",
      "path": "26"
    },
    "4640": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "POP",
      "path": "26"
    },
    "4641": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "offset": [
        14072,
        14833
      ],
      "op": "POP",
      "path": "26"
    },
    "4642": {
      "fn": "MockUniswapV2Router02.removeLiquidityWithPermit",
      "jump": "o",
      "offset": [
        14072,
        14833
      ],
      "op": "JUMP",
      "path": "26"
    },
    "4643": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18034,
        18698
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4644": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18230,
        18251
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "4646": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18211,
        18219
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4647": {
      "offset": [
        8981,
        8996
      ],
      "op": "TIMESTAMP",
      "path": "26"
    },
    "4648": {
      "offset": [
        8969,
        8977
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4649": {
      "offset": [
        8969,
        8996
      ],
      "op": "LT",
      "path": "26"
    },
    "4650": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8969,
        8996
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "4651": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1269"
    },
    "4654": {
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "4655": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "4657": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4658": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4659": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "4663": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "4665": {
      "op": "SHL"
    },
    "4666": {
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4667": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4668": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4670": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "4672": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "4673": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "4674": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4675": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x18"
    },
    "4677": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "4679": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "4680": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "4681": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4682": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "4684": {
      "op": "DUP1"
    },
    "4685": {
      "op": "MLOAD"
    },
    "4686": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "4688": {
      "op": "PUSH2",
      "value": "0x45B6"
    },
    "4691": {
      "op": "DUP4"
    },
    "4692": {
      "op": "CODECOPY"
    },
    "4693": {
      "op": "DUP2"
    },
    "4694": {
      "op": "MLOAD"
    },
    "4695": {
      "op": "SWAP2"
    },
    "4696": {
      "op": "MSTORE"
    },
    "4697": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "4699": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "4700": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "4701": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4702": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4703": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4704": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4705": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4706": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4707": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SUB",
      "path": "26"
    },
    "4708": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "4710": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "4711": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4712": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "REVERT",
      "path": "26"
    },
    "4713": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4714": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 16,
      "value": "0x12C7"
    },
    "4717": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18321,
        18328
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "4750": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18330,
        18338
      ],
      "op": "DUP10",
      "path": "26"
    },
    "4751": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18340,
        18344
      ],
      "op": "DUP9",
      "path": "26"
    },
    "4752": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18340,
        18344
      ],
      "op": "DUP9",
      "path": "26"
    },
    "4753": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4754": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4755": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4757": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "MUL",
      "path": "26"
    },
    "4758": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4760": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "ADD",
      "path": "26"
    },
    "4761": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "4763": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4764": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4765": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4766": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "ADD",
      "path": "26"
    },
    "4767": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "4769": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4770": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4771": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "4772": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "4773": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "4774": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4775": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4776": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4777": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4778": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4780": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "ADD",
      "path": "26"
    },
    "4781": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "DUP4",
      "path": "26"
    },
    "4782": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "DUP4",
      "path": "26"
    },
    "4783": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4785": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "MUL",
      "path": "26"
    },
    "4786": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4787": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "DUP3",
      "path": "26"
    },
    "4788": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "DUP5",
      "path": "26"
    },
    "4789": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "CALLDATACOPY",
      "path": "26"
    },
    "4790": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "4792": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "4793": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "ADD",
      "path": "26"
    },
    "4794": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "4795": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4796": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "4797": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4798": {
      "op": "POP"
    },
    "4799": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18320
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3292"
    },
    "4802": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18320
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "4803": {
      "op": "POP"
    },
    "4804": {
      "op": "POP"
    },
    "4805": {
      "op": "POP"
    },
    "4806": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "jump": "i",
      "offset": [
        18269,
        18345
      ],
      "op": "JUMP",
      "path": "26"
    },
    "4807": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18269,
        18345
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4808": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18259,
        18345
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "4809": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18259,
        18345
      ],
      "op": "POP",
      "path": "26"
    },
    "4810": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18397,
        18409
      ],
      "op": "DUP7",
      "path": "26",
      "statement": 17
    },
    "4811": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18366,
        18373
      ],
      "op": "DUP3",
      "path": "26"
    },
    "4812": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18391,
        18392
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "4814": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18374,
        18381
      ],
      "op": "DUP5",
      "path": "26"
    },
    "4815": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18374,
        18388
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4816": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18374,
        18392
      ],
      "op": "SUB",
      "path": "26"
    },
    "4817": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18366,
        18393
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4818": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18366,
        18393
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4819": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18366,
        18393
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4820": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18366,
        18393
      ],
      "op": "LT",
      "path": "26"
    },
    "4821": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18366,
        18393
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x12DA"
    },
    "4824": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18366,
        18393
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "4825": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18366,
        18393
      ],
      "op": "INVALID",
      "path": "26"
    },
    "4826": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18366,
        18393
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4827": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18366,
        18393
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4829": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18366,
        18393
      ],
      "op": "MUL",
      "path": "26"
    },
    "4830": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18366,
        18393
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4832": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18366,
        18393
      ],
      "op": "ADD",
      "path": "26"
    },
    "4833": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18366,
        18393
      ],
      "op": "ADD",
      "path": "26"
    },
    "4834": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18366,
        18393
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4835": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18366,
        18409
      ],
      "op": "LT",
      "path": "26"
    },
    "4836": {
      "branch": 123,
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18366,
        18409
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "4837": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x131F"
    },
    "4840": {
      "branch": 123,
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "4841": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "4843": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4844": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "4848": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "4850": {
      "op": "SHL"
    },
    "4851": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4852": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4853": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "4855": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "ADD",
      "path": "26"
    },
    "4856": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4857": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4858": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4860": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "ADD",
      "path": "26"
    },
    "4861": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "DUP3",
      "path": "26"
    },
    "4862": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4863": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "SUB",
      "path": "26"
    },
    "4864": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "DUP3",
      "path": "26"
    },
    "4865": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4866": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x2B"
    },
    "4868": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4869": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4870": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4872": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "ADD",
      "path": "26"
    },
    "4873": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4874": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4551"
    },
    "4877": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x2B"
    },
    "4879": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "4880": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "4881": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "4883": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "ADD",
      "path": "26"
    },
    "4884": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "4885": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "POP",
      "path": "26"
    },
    "4886": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "POP",
      "path": "26"
    },
    "4887": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "4889": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4890": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4891": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "4892": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "SUB",
      "path": "26"
    },
    "4893": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4894": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "REVERT",
      "path": "26"
    },
    "4895": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18351,
        18468
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4896": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18474,
        18663
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 18,
      "value": "0x132F"
    },
    "4899": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18534,
        18538
      ],
      "op": "DUP7",
      "path": "26"
    },
    "4900": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18534,
        18538
      ],
      "op": "DUP7",
      "path": "26"
    },
    "4901": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18539,
        18540
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "4903": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18534,
        18541
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4904": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18534,
        18541
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4905": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18534,
        18541
      ],
      "op": "LT",
      "path": "26"
    },
    "4906": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18534,
        18541
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xF65"
    },
    "4909": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18534,
        18541
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "4910": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18534,
        18541
      ],
      "op": "INVALID",
      "path": "26"
    },
    "4911": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18474,
        18663
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4912": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 19,
      "value": "0x10E8"
    },
    "4915": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18675,
        18682
      ],
      "op": "DUP3",
      "path": "26"
    },
    "4916": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18684,
        18688
      ],
      "op": "DUP8",
      "path": "26"
    },
    "4917": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18684,
        18688
      ],
      "op": "DUP8",
      "path": "26"
    },
    "4918": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4919": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4920": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4922": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "MUL",
      "path": "26"
    },
    "4923": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4925": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "ADD",
      "path": "26"
    },
    "4926": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "4928": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4929": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4930": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4931": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "ADD",
      "path": "26"
    },
    "4932": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "4934": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4935": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4936": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "4937": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "4938": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "4939": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4940": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4941": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4942": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4943": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4945": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "ADD",
      "path": "26"
    },
    "4946": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "DUP4",
      "path": "26"
    },
    "4947": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "DUP4",
      "path": "26"
    },
    "4948": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "4950": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "MUL",
      "path": "26"
    },
    "4951": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4952": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "DUP3",
      "path": "26"
    },
    "4953": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "DUP5",
      "path": "26"
    },
    "4954": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "CALLDATACOPY",
      "path": "26"
    },
    "4955": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "4957": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "4958": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "ADD",
      "path": "26"
    },
    "4959": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "4960": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "4961": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "4962": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18693
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4963": {
      "op": "POP"
    },
    "4964": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18690,
        18692
      ],
      "op": "DUP10",
      "path": "26"
    },
    "4965": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18690,
        18692
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "4966": {
      "op": "POP"
    },
    "4967": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18674
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x35B9"
    },
    "4970": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "offset": [
        18669,
        18674
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "4971": {
      "op": "POP"
    },
    "4972": {
      "op": "POP"
    },
    "4973": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokens",
      "jump": "i",
      "offset": [
        18669,
        18693
      ],
      "op": "JUMP",
      "path": "26"
    },
    "4974": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20097,
        20972
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "4975": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20290,
        20311
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "4977": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20271,
        20279
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4978": {
      "offset": [
        8981,
        8996
      ],
      "op": "TIMESTAMP",
      "path": "26"
    },
    "4979": {
      "offset": [
        8969,
        8977
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4980": {
      "offset": [
        8969,
        8996
      ],
      "op": "LT",
      "path": "26"
    },
    "4981": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8969,
        8996
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "4982": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x13B4"
    },
    "4985": {
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "4986": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "4988": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP1",
      "path": "26"
    },
    "4989": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "4990": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "4994": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "4996": {
      "op": "SHL"
    },
    "4997": {
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "4998": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "4999": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "5001": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "5003": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5004": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "5005": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5006": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x18"
    },
    "5008": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "5010": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5011": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "5012": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5013": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "5015": {
      "op": "DUP1"
    },
    "5016": {
      "op": "MLOAD"
    },
    "5017": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5019": {
      "op": "PUSH2",
      "value": "0x45B6"
    },
    "5022": {
      "op": "DUP4"
    },
    "5023": {
      "op": "CODECOPY"
    },
    "5024": {
      "op": "DUP2"
    },
    "5025": {
      "op": "MLOAD"
    },
    "5026": {
      "op": "SWAP2"
    },
    "5027": {
      "op": "MSTORE"
    },
    "5028": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "5030": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5031": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "5032": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5033": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5034": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "5035": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5036": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5037": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5038": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "SUB",
      "path": "26"
    },
    "5039": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "5041": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "5042": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5043": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "REVERT",
      "path": "26"
    },
    "5044": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5045": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5047": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5049": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5051": {
      "op": "SHL"
    },
    "5052": {
      "op": "SUB"
    },
    "5053": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20352,
        20356
      ],
      "op": "PUSH32",
      "path": "26",
      "statement": 20,
      "value": "0x0"
    },
    "5086": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20327,
        20356
      ],
      "op": "AND",
      "path": "26"
    },
    "5087": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20327,
        20331
      ],
      "op": "DUP7",
      "path": "26"
    },
    "5088": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20327,
        20331
      ],
      "op": "DUP7",
      "path": "26"
    },
    "5089": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "5091": {
      "op": "NOT"
    },
    "5092": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20332,
        20347
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5093": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20332,
        20347
      ],
      "op": "ADD",
      "path": "26"
    },
    "5094": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20327,
        20348
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5095": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20327,
        20348
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5096": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20327,
        20348
      ],
      "op": "LT",
      "path": "26"
    },
    "5097": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20327,
        20348
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x13EE"
    },
    "5100": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20327,
        20348
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "5101": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20327,
        20348
      ],
      "op": "INVALID",
      "path": "26"
    },
    "5102": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20327,
        20348
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5103": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20327,
        20348
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5104": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20327,
        20348
      ],
      "op": "POP",
      "path": "26"
    },
    "5105": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20327,
        20348
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "5107": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20327,
        20348
      ],
      "op": "MUL",
      "path": "26"
    },
    "5108": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20327,
        20348
      ],
      "op": "ADD",
      "path": "26"
    },
    "5109": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20327,
        20348
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "5110": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5112": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5114": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5116": {
      "op": "SHL"
    },
    "5117": {
      "op": "SUB"
    },
    "5118": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20327,
        20348
      ],
      "op": "AND",
      "path": "26"
    },
    "5119": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5121": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5123": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5125": {
      "op": "SHL"
    },
    "5126": {
      "op": "SUB"
    },
    "5127": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20327,
        20356
      ],
      "op": "AND",
      "path": "26"
    },
    "5128": {
      "branch": 124,
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20327,
        20356
      ],
      "op": "EQ",
      "path": "26"
    },
    "5129": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1447"
    },
    "5132": {
      "branch": 124,
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "5133": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "5135": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5136": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "5137": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "5141": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "5143": {
      "op": "SHL"
    },
    "5144": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5145": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5146": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "5148": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "5150": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5151": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "ADD",
      "path": "26"
    },
    "5152": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5153": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1D"
    },
    "5155": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "5157": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5158": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "ADD",
      "path": "26"
    },
    "5159": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5160": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "5162": {
      "op": "DUP1"
    },
    "5163": {
      "op": "MLOAD"
    },
    "5164": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5166": {
      "op": "PUSH2",
      "value": "0x4464"
    },
    "5169": {
      "op": "DUP4"
    },
    "5170": {
      "op": "CODECOPY"
    },
    "5171": {
      "op": "DUP2"
    },
    "5172": {
      "op": "MLOAD"
    },
    "5173": {
      "op": "SWAP2"
    },
    "5174": {
      "op": "MSTORE"
    },
    "5175": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "5177": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5178": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "ADD",
      "path": "26"
    },
    "5179": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5180": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5181": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "5182": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5183": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5184": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5185": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "SUB",
      "path": "26"
    },
    "5186": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "5188": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "ADD",
      "path": "26"
    },
    "5189": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5190": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "REVERT",
      "path": "26"
    },
    "5191": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20319,
        20390
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5192": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 21,
      "value": "0x14A5"
    },
    "5195": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20457,
        20464
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "5228": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20466,
        20475
      ],
      "op": "DUP10",
      "path": "26"
    },
    "5229": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20477,
        20481
      ],
      "op": "DUP9",
      "path": "26"
    },
    "5230": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20477,
        20481
      ],
      "op": "DUP9",
      "path": "26"
    },
    "5231": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5232": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5233": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "5235": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "MUL",
      "path": "26"
    },
    "5236": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "5238": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "ADD",
      "path": "26"
    },
    "5239": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "5241": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "5242": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5243": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5244": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "ADD",
      "path": "26"
    },
    "5245": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "5247": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5248": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5249": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "5250": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "5251": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "5252": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5253": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5254": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5255": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5256": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "5258": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "ADD",
      "path": "26"
    },
    "5259": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "DUP4",
      "path": "26"
    },
    "5260": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "DUP4",
      "path": "26"
    },
    "5261": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "5263": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "MUL",
      "path": "26"
    },
    "5264": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5265": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5266": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "DUP5",
      "path": "26"
    },
    "5267": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "CALLDATACOPY",
      "path": "26"
    },
    "5268": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "5270": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "5271": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "ADD",
      "path": "26"
    },
    "5272": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "5273": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5274": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "5275": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5276": {
      "op": "POP"
    },
    "5277": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20456
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x37F6"
    },
    "5280": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20456
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "5281": {
      "op": "POP"
    },
    "5282": {
      "op": "POP"
    },
    "5283": {
      "op": "POP"
    },
    "5284": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "jump": "i",
      "offset": [
        20406,
        20482
      ],
      "op": "JUMP",
      "path": "26"
    },
    "5285": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20406,
        20482
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5286": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20396,
        20482
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "5287": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20396,
        20482
      ],
      "op": "POP",
      "path": "26"
    },
    "5288": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20510,
        20521
      ],
      "op": "DUP7",
      "path": "26",
      "statement": 22
    },
    "5289": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20496,
        20503
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5290": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20504,
        20505
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "5292": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20496,
        20506
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5293": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20496,
        20506
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "5294": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20496,
        20506
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5295": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20496,
        20506
      ],
      "op": "LT",
      "path": "26"
    },
    "5296": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20496,
        20506
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x14B5"
    },
    "5299": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20496,
        20506
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "5300": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20496,
        20506
      ],
      "op": "INVALID",
      "path": "26"
    },
    "5301": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20496,
        20506
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5302": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20496,
        20506
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "5304": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20496,
        20506
      ],
      "op": "MUL",
      "path": "26"
    },
    "5305": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20496,
        20506
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "5307": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20496,
        20506
      ],
      "op": "ADD",
      "path": "26"
    },
    "5308": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20496,
        20506
      ],
      "op": "ADD",
      "path": "26"
    },
    "5309": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20496,
        20506
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "5310": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20496,
        20521
      ],
      "op": "GT",
      "path": "26"
    },
    "5311": {
      "branch": 125,
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20496,
        20521
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "5312": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xF55"
    },
    "5315": {
      "branch": 125,
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "5316": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "5318": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "5319": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "5323": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "5325": {
      "op": "SHL"
    },
    "5326": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5327": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5328": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "5330": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "ADD",
      "path": "26"
    },
    "5331": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5332": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5333": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "5335": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "ADD",
      "path": "26"
    },
    "5336": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5337": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5338": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "SUB",
      "path": "26"
    },
    "5339": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5340": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5341": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x27"
    },
    "5343": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5344": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5345": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "5347": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "ADD",
      "path": "26"
    },
    "5348": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5349": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x443D"
    },
    "5352": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x27"
    },
    "5354": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "5355": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "5356": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "5358": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "ADD",
      "path": "26"
    },
    "5359": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "5360": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "POP",
      "path": "26"
    },
    "5361": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "POP",
      "path": "26"
    },
    "5362": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "5364": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "5365": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5366": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "5367": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "SUB",
      "path": "26"
    },
    "5368": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5369": {
      "fn": "MockUniswapV2Router02.swapTokensForExactETH",
      "offset": [
        20488,
        20565
      ],
      "op": "REVERT",
      "path": "26"
    },
    "5370": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5371": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16634,
        16648
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "5373": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16656,
        16668
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5374": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16671,
        16738
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1548"
    },
    "5377": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16717,
        16724
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "5410": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16726,
        16731
      ],
      "op": "DUP14",
      "path": "26"
    },
    "5411": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16733,
        16737
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "5444": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16671,
        16716
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x33C8"
    },
    "5447": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "jump": "i",
      "offset": [
        16671,
        16738
      ],
      "op": "JUMP",
      "path": "26"
    },
    "5448": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16671,
        16738
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5449": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16656,
        16738
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5450": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16656,
        16738
      ],
      "op": "POP",
      "path": "26"
    },
    "5451": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16744,
        16754
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "5453": {
      "branch": 126,
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16757,
        16767
      ],
      "op": "DUP7",
      "path": "26"
    },
    "5454": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16757,
        16790
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1557"
    },
    "5457": {
      "branch": 126,
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16757,
        16790
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "5458": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16781,
        16790
      ],
      "op": "DUP12",
      "path": "26"
    },
    "5459": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16757,
        16790
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x155B"
    },
    "5462": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16757,
        16790
      ],
      "op": "JUMP",
      "path": "26"
    },
    "5463": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16757,
        16790
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5464": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "5466": {
      "op": "NOT"
    },
    "5467": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16757,
        16790
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5468": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "PUSH1",
      "path": "26",
      "statement": 23,
      "value": "0x40"
    },
    "5470": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5471": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "5472": {
      "op": "PUSH4",
      "value": "0xD505ACCF"
    },
    "5477": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "5479": {
      "op": "SHL"
    },
    "5480": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5481": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5482": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16852,
        16862
      ],
      "op": "CALLER",
      "path": "26"
    },
    "5483": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "5485": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5486": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "ADD",
      "path": "26"
    },
    "5487": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5488": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16878,
        16882
      ],
      "op": "ADDRESS",
      "path": "26"
    },
    "5489": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "5491": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5492": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "ADD",
      "path": "26"
    },
    "5493": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5494": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "5496": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5497": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "ADD",
      "path": "26"
    },
    "5498": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP4",
      "path": "26"
    },
    "5499": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5500": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5501": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "5503": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5504": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "ADD",
      "path": "26"
    },
    "5505": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP12",
      "path": "26"
    },
    "5506": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5507": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5508": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xFF"
    },
    "5510": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP10",
      "path": "26"
    },
    "5511": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "AND",
      "path": "26"
    },
    "5512": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x84"
    },
    "5514": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5515": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "ADD",
      "path": "26"
    },
    "5516": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5517": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xA4"
    },
    "5519": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5520": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "ADD",
      "path": "26"
    },
    "5521": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP9",
      "path": "26"
    },
    "5522": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5523": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5524": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xC4"
    },
    "5526": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5527": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "ADD",
      "path": "26"
    },
    "5528": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP8",
      "path": "26"
    },
    "5529": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5530": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5531": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5532": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "5533": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16744,
        16790
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "5534": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16744,
        16790
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "5535": {
      "op": "POP"
    },
    "5536": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5538": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5540": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5542": {
      "op": "SHL"
    },
    "5543": {
      "op": "SUB"
    },
    "5544": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16844
      ],
      "op": "DUP5",
      "path": "26"
    },
    "5545": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16844
      ],
      "op": "AND",
      "path": "26"
    },
    "5546": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16844
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "5547": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16844
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xD505ACCF"
    },
    "5552": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16844
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "5553": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE4"
    },
    "5555": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5556": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5557": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "ADD",
      "path": "26"
    },
    "5558": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "5559": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "5561": {
      "op": "SWAP3"
    },
    "5562": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5563": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "5564": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5565": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5566": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5567": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "SUB",
      "path": "26"
    },
    "5568": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "ADD",
      "path": "26"
    },
    "5569": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5570": {
      "op": "DUP4"
    },
    "5571": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16844
      ],
      "op": "DUP8",
      "path": "26"
    },
    "5572": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5573": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "5574": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "5575": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5576": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "5577": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x15D1"
    },
    "5580": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "5581": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "5583": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5584": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "REVERT",
      "path": "26"
    },
    "5585": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5586": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "POP",
      "path": "26"
    },
    "5587": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "GAS",
      "path": "26"
    },
    "5588": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "CALL",
      "path": "26"
    },
    "5589": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "5590": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5591": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "5592": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x15E5"
    },
    "5595": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "5596": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "5597": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "5599": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5600": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "5601": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "5602": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "5604": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "REVERT",
      "path": "26"
    },
    "5605": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5606": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "POP",
      "path": "26"
    },
    "5607": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "POP",
      "path": "26"
    },
    "5608": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "POP",
      "path": "26"
    },
    "5609": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16796,
        16945
      ],
      "op": "POP",
      "path": "26"
    },
    "5610": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16963,
        17114
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 24,
      "value": "0x15F7"
    },
    "5613": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        17018,
        17023
      ],
      "op": "DUP14",
      "path": "26"
    },
    "5614": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        17031,
        17040
      ],
      "op": "DUP14",
      "path": "26"
    },
    "5615": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        17048,
        17062
      ],
      "op": "DUP14",
      "path": "26"
    },
    "5616": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        17070,
        17082
      ],
      "op": "DUP14",
      "path": "26"
    },
    "5617": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        17090,
        17092
      ],
      "op": "DUP14",
      "path": "26"
    },
    "5618": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        17100,
        17108
      ],
      "op": "DUP14",
      "path": "26"
    },
    "5619": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16963,
        17010
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1F8F"
    },
    "5622": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "jump": "i",
      "offset": [
        16963,
        17114
      ],
      "op": "JUMP",
      "path": "26"
    },
    "5623": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16963,
        17114
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5624": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16951,
        17114
      ],
      "op": "SWAP14",
      "path": "26"
    },
    "5625": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "offset": [
        16342,
        17119
      ],
      "op": "SWAP13",
      "path": "26"
    },
    "5626": {
      "op": "POP"
    },
    "5627": {
      "op": "POP"
    },
    "5628": {
      "op": "POP"
    },
    "5629": {
      "op": "POP"
    },
    "5630": {
      "op": "POP"
    },
    "5631": {
      "op": "POP"
    },
    "5632": {
      "op": "POP"
    },
    "5633": {
      "op": "POP"
    },
    "5634": {
      "op": "POP"
    },
    "5635": {
      "op": "POP"
    },
    "5636": {
      "op": "POP"
    },
    "5637": {
      "op": "POP"
    },
    "5638": {
      "op": "POP"
    },
    "5639": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",
      "jump": "o",
      "offset": [
        16342,
        17119
      ],
      "op": "JUMP",
      "path": "26"
    },
    "5640": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5641": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24478,
        24486
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5642": {
      "offset": [
        8981,
        8996
      ],
      "op": "TIMESTAMP",
      "path": "26"
    },
    "5643": {
      "offset": [
        8969,
        8977
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5644": {
      "offset": [
        8969,
        8996
      ],
      "op": "LT",
      "path": "26"
    },
    "5645": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8969,
        8996
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "5646": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x164C"
    },
    "5649": {
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "5650": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "5652": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5653": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "5654": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "5658": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "5660": {
      "op": "SHL"
    },
    "5661": {
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5662": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5663": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "5665": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "5667": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5668": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "5669": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5670": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x18"
    },
    "5672": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "5674": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5675": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "5676": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5677": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "5679": {
      "op": "DUP1"
    },
    "5680": {
      "op": "MLOAD"
    },
    "5681": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5683": {
      "op": "PUSH2",
      "value": "0x45B6"
    },
    "5686": {
      "op": "DUP4"
    },
    "5687": {
      "op": "CODECOPY"
    },
    "5688": {
      "op": "DUP2"
    },
    "5689": {
      "op": "MLOAD"
    },
    "5690": {
      "op": "SWAP2"
    },
    "5691": {
      "op": "MSTORE"
    },
    "5692": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "5694": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5695": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "5696": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5697": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5698": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "5699": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5700": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5701": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5702": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SUB",
      "path": "26"
    },
    "5703": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "5705": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "5706": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5707": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "REVERT",
      "path": "26"
    },
    "5708": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5709": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24494,
        24681
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 25,
      "value": "0x16C1"
    },
    "5712": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24554,
        24558
      ],
      "op": "DUP6",
      "path": "26"
    },
    "5713": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24554,
        24558
      ],
      "op": "DUP6",
      "path": "26"
    },
    "5714": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24559,
        24560
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "5716": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24554,
        24561
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5717": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24554,
        24561
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5718": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24554,
        24561
      ],
      "op": "LT",
      "path": "26"
    },
    "5719": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24554,
        24561
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x165C"
    },
    "5722": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24554,
        24561
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "5723": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24554,
        24561
      ],
      "op": "INVALID",
      "path": "26"
    },
    "5724": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24554,
        24561
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5725": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24554,
        24561
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5726": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24554,
        24561
      ],
      "op": "POP",
      "path": "26"
    },
    "5727": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24554,
        24561
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "5729": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24554,
        24561
      ],
      "op": "MUL",
      "path": "26"
    },
    "5730": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24554,
        24561
      ],
      "op": "ADD",
      "path": "26"
    },
    "5731": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24554,
        24561
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "5732": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5734": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5736": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5738": {
      "op": "SHL"
    },
    "5739": {
      "op": "SUB"
    },
    "5740": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24554,
        24561
      ],
      "op": "AND",
      "path": "26"
    },
    "5741": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24569,
        24579
      ],
      "op": "CALLER",
      "path": "26"
    },
    "5742": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24587,
        24659
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x16BB"
    },
    "5745": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24633,
        24640
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "5778": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24642,
        24646
      ],
      "op": "DUP10",
      "path": "26"
    },
    "5779": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24642,
        24646
      ],
      "op": "DUP10",
      "path": "26"
    },
    "5780": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24647,
        24648
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "5782": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24642,
        24649
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5783": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24642,
        24649
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5784": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24642,
        24649
      ],
      "op": "LT",
      "path": "26"
    },
    "5785": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24642,
        24649
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x169E"
    },
    "5788": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24642,
        24649
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "5789": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24642,
        24649
      ],
      "op": "INVALID",
      "path": "26"
    },
    "5790": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24642,
        24649
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5791": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24642,
        24649
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5792": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24642,
        24649
      ],
      "op": "POP",
      "path": "26"
    },
    "5793": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24642,
        24649
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "5795": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24642,
        24649
      ],
      "op": "MUL",
      "path": "26"
    },
    "5796": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24642,
        24649
      ],
      "op": "ADD",
      "path": "26"
    },
    "5797": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24642,
        24649
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "5798": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5800": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5802": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5804": {
      "op": "SHL"
    },
    "5805": {
      "op": "SUB"
    },
    "5806": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24642,
        24649
      ],
      "op": "AND",
      "path": "26"
    },
    "5807": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24651,
        24655
      ],
      "op": "DUP11",
      "path": "26"
    },
    "5808": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24651,
        24655
      ],
      "op": "DUP11",
      "path": "26"
    },
    "5809": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24656,
        24657
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "5811": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24651,
        24658
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5812": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24651,
        24658
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5813": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24651,
        24658
      ],
      "op": "LT",
      "path": "26"
    },
    "5814": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24651,
        24658
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xFC4"
    },
    "5817": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24651,
        24658
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "5818": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24651,
        24658
      ],
      "op": "INVALID",
      "path": "26"
    },
    "5819": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24587,
        24659
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5820": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24667,
        24675
      ],
      "op": "DUP11",
      "path": "26"
    },
    "5821": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24494,
        24546
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x345C"
    },
    "5824": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "jump": "i",
      "offset": [
        24494,
        24681
      ],
      "op": "JUMP",
      "path": "26"
    },
    "5825": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24494,
        24681
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5826": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24687,
        24705
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "5828": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24715,
        24719
      ],
      "op": "DUP6",
      "path": "26"
    },
    "5829": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24715,
        24719
      ],
      "op": "DUP6",
      "path": "26"
    },
    "5830": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "5832": {
      "op": "NOT"
    },
    "5833": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24720,
        24735
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5834": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24720,
        24735
      ],
      "op": "ADD",
      "path": "26"
    },
    "5835": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24715,
        24736
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5836": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24715,
        24736
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5837": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24715,
        24736
      ],
      "op": "LT",
      "path": "26"
    },
    "5838": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24715,
        24736
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x16D3"
    },
    "5841": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24715,
        24736
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "5842": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24715,
        24736
      ],
      "op": "INVALID",
      "path": "26"
    },
    "5843": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24715,
        24736
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5844": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24715,
        24736
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5845": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24715,
        24736
      ],
      "op": "POP",
      "path": "26"
    },
    "5846": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24715,
        24736
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "5848": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24715,
        24736
      ],
      "op": "MUL",
      "path": "26"
    },
    "5849": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24715,
        24736
      ],
      "op": "ADD",
      "path": "26"
    },
    "5850": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24715,
        24736
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "5851": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5853": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5855": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5857": {
      "op": "SHL"
    },
    "5858": {
      "op": "SUB"
    },
    "5859": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24715,
        24736
      ],
      "op": "AND",
      "path": "26"
    },
    "5860": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5862": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5864": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5866": {
      "op": "SHL"
    },
    "5867": {
      "op": "SUB"
    },
    "5868": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24747
      ],
      "op": "AND",
      "path": "26"
    },
    "5869": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24747
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x70A08231"
    },
    "5874": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24748,
        24750
      ],
      "op": "DUP6",
      "path": "26"
    },
    "5875": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "5877": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "5878": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5879": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "5884": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "AND",
      "path": "26"
    },
    "5885": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "5887": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "SHL",
      "path": "26"
    },
    "5888": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5889": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5890": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "5892": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "ADD",
      "path": "26"
    },
    "5893": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5894": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5895": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5897": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5899": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5901": {
      "op": "SHL"
    },
    "5902": {
      "op": "SUB"
    },
    "5903": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "AND",
      "path": "26"
    },
    "5904": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5905": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5906": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "5908": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "ADD",
      "path": "26"
    },
    "5909": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "5910": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "POP",
      "path": "26"
    },
    "5911": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "POP",
      "path": "26"
    },
    "5912": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "5914": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "5916": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "5917": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5918": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "DUP4",
      "path": "26"
    },
    "5919": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "SUB",
      "path": "26"
    },
    "5920": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5921": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "DUP7",
      "path": "26"
    },
    "5922": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5923": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "5924": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "5925": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5926": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "5927": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x172F"
    },
    "5930": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "5931": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "5933": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5934": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "REVERT",
      "path": "26"
    },
    "5935": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5936": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "POP",
      "path": "26"
    },
    "5937": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "GAS",
      "path": "26"
    },
    "5938": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "STATICCALL",
      "path": "26"
    },
    "5939": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "5940": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5941": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "5942": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1743"
    },
    "5945": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "5946": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "5947": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "5949": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5950": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "5951": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "5952": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "5954": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "REVERT",
      "path": "26"
    },
    "5955": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5956": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "POP",
      "path": "26"
    },
    "5957": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "POP",
      "path": "26"
    },
    "5958": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "POP",
      "path": "26"
    },
    "5959": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "POP",
      "path": "26"
    },
    "5960": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "5962": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "5963": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "5964": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "5966": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5967": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "LT",
      "path": "26"
    },
    "5968": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "5969": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1759"
    },
    "5972": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "5973": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "5975": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5976": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "REVERT",
      "path": "26"
    },
    "5977": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "5978": {
      "op": "POP"
    },
    "5979": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "5980": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "PUSH1",
      "path": "26",
      "statement": 26,
      "value": "0x40"
    },
    "5982": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "DUP1",
      "path": "26"
    },
    "5983": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "5984": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "5986": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "DUP9",
      "path": "26"
    },
    "5987": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5988": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "MUL",
      "path": "26"
    },
    "5989": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5990": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "DUP2",
      "path": "26"
    },
    "5991": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "ADD",
      "path": "26"
    },
    "5992": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5993": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "ADD",
      "path": "26"
    },
    "5994": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "5995": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "5996": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "5997": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "DUP9",
      "path": "26"
    },
    "5998": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "DUP3",
      "path": "26"
    },
    "5999": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6000": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "6001": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24708,
        24751
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "6002": {
      "op": "POP"
    },
    "6003": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x179B"
    },
    "6006": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "6007": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6008": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "6009": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24792,
        24796
      ],
      "op": "DUP10",
      "path": "26"
    },
    "6010": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24792,
        24796
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "6011": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24792,
        24796
      ],
      "op": "DUP10",
      "path": "26"
    },
    "6012": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24792,
        24796
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "6013": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24792,
        24796
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6014": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24792,
        24796
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "6015": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "DUP6",
      "path": "26"
    },
    "6016": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "ADD",
      "path": "26"
    },
    "6017": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6018": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24792,
        24796
      ],
      "op": "DUP5",
      "path": "26"
    },
    "6019": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24792,
        24796
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6020": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6021": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24792,
        24796
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6022": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "DUP5",
      "path": "26"
    },
    "6023": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "CALLDATACOPY",
      "path": "26"
    },
    "6024": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "6026": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "6027": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "ADD",
      "path": "26"
    },
    "6028": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "6029": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6030": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "6031": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6032": {
      "op": "POP"
    },
    "6033": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24798,
        24800
      ],
      "op": "DUP9",
      "path": "26"
    },
    "6034": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24798,
        24800
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "6035": {
      "op": "POP"
    },
    "6036": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24791
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3918"
    },
    "6039": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24791
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "6040": {
      "op": "POP"
    },
    "6041": {
      "op": "POP"
    },
    "6042": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "jump": "i",
      "offset": [
        24757,
        24801
      ],
      "op": "JUMP",
      "path": "26"
    },
    "6043": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24757,
        24801
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "6044": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24888,
        24900
      ],
      "op": "DUP7",
      "path": "26",
      "statement": 27
    },
    "6045": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24884
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x183E"
    },
    "6048": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24870,
        24883
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6049": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24829,
        24833
      ],
      "op": "DUP9",
      "path": "26"
    },
    "6050": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24829,
        24833
      ],
      "op": "DUP9",
      "path": "26"
    },
    "6051": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "6053": {
      "op": "NOT"
    },
    "6054": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24834,
        24849
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6055": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24834,
        24849
      ],
      "op": "ADD",
      "path": "26"
    },
    "6056": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24829,
        24850
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6057": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24829,
        24850
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6058": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24829,
        24850
      ],
      "op": "LT",
      "path": "26"
    },
    "6059": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24829,
        24850
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x17B0"
    },
    "6062": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24829,
        24850
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "6063": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24829,
        24850
      ],
      "op": "INVALID",
      "path": "26"
    },
    "6064": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24829,
        24850
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "6065": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24829,
        24850
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6066": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24829,
        24850
      ],
      "op": "POP",
      "path": "26"
    },
    "6067": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24829,
        24850
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "6069": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24829,
        24850
      ],
      "op": "MUL",
      "path": "26"
    },
    "6070": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24829,
        24850
      ],
      "op": "ADD",
      "path": "26"
    },
    "6071": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24829,
        24850
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "6072": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6074": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6076": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "6078": {
      "op": "SHL"
    },
    "6079": {
      "op": "SUB"
    },
    "6080": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24829,
        24850
      ],
      "op": "AND",
      "path": "26"
    },
    "6081": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6083": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6085": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "6087": {
      "op": "SHL"
    },
    "6088": {
      "op": "SUB"
    },
    "6089": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24861
      ],
      "op": "AND",
      "path": "26"
    },
    "6090": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24861
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x70A08231"
    },
    "6095": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24862,
        24864
      ],
      "op": "DUP9",
      "path": "26"
    },
    "6096": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "6098": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "6099": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6100": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "6105": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "AND",
      "path": "26"
    },
    "6106": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "6108": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "SHL",
      "path": "26"
    },
    "6109": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6110": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6111": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "6113": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "ADD",
      "path": "26"
    },
    "6114": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6115": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6116": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6118": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6120": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "6122": {
      "op": "SHL"
    },
    "6123": {
      "op": "SUB"
    },
    "6124": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "AND",
      "path": "26"
    },
    "6125": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6126": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6127": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "6129": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "ADD",
      "path": "26"
    },
    "6130": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "6131": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "POP",
      "path": "26"
    },
    "6132": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "POP",
      "path": "26"
    },
    "6133": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "6135": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "6137": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "6138": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6139": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "DUP4",
      "path": "26"
    },
    "6140": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "SUB",
      "path": "26"
    },
    "6141": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6142": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "DUP7",
      "path": "26"
    },
    "6143": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6144": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "6145": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "6146": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6147": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "6148": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x180C"
    },
    "6151": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "6152": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "6154": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6155": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "REVERT",
      "path": "26"
    },
    "6156": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "6157": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "POP",
      "path": "26"
    },
    "6158": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "GAS",
      "path": "26"
    },
    "6159": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "STATICCALL",
      "path": "26"
    },
    "6160": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "6161": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6162": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "6163": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1820"
    },
    "6166": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "6167": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "6168": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "6170": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6171": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "6172": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "6173": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "6175": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "REVERT",
      "path": "26"
    },
    "6176": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "6177": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "POP",
      "path": "26"
    },
    "6178": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "POP",
      "path": "26"
    },
    "6179": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "POP",
      "path": "26"
    },
    "6180": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "POP",
      "path": "26"
    },
    "6181": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "6183": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "6184": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "6185": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "6187": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6188": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "LT",
      "path": "26"
    },
    "6189": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "6190": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1836"
    },
    "6193": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "6194": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "6196": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6197": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "REVERT",
      "path": "26"
    },
    "6198": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "6199": {
      "op": "POP"
    },
    "6200": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "6201": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24865
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6202": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24869
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3C1A"
    },
    "6205": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "jump": "i",
      "offset": [
        24822,
        24884
      ],
      "op": "JUMP",
      "path": "26"
    },
    "6206": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24884
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "6207": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24900
      ],
      "op": "LT",
      "path": "26"
    },
    "6208": {
      "branch": 127,
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24822,
        24900
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "6209": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x187B"
    },
    "6212": {
      "branch": 127,
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "6213": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "6215": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "6216": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "6220": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "6222": {
      "op": "SHL"
    },
    "6223": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6224": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6225": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "6227": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "ADD",
      "path": "26"
    },
    "6228": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6229": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6230": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "6232": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "ADD",
      "path": "26"
    },
    "6233": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6234": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6235": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "SUB",
      "path": "26"
    },
    "6236": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6237": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6238": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x2B"
    },
    "6240": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6241": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6242": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "6244": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "ADD",
      "path": "26"
    },
    "6245": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6246": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4551"
    },
    "6249": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x2B"
    },
    "6251": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "6252": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "6253": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "6255": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "ADD",
      "path": "26"
    },
    "6256": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "6257": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "POP",
      "path": "26"
    },
    "6258": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "POP",
      "path": "26"
    },
    "6259": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "6261": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "6262": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6263": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "6264": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "SUB",
      "path": "26"
    },
    "6265": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6266": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "REVERT",
      "path": "26"
    },
    "6267": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24807,
        24959
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "6268": {
      "offset": [
        9031,
        9032
      ],
      "op": "POP",
      "path": "26"
    },
    "6269": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "POP",
      "path": "26"
    },
    "6270": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "POP",
      "path": "26"
    },
    "6271": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "POP",
      "path": "26"
    },
    "6272": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "POP",
      "path": "26"
    },
    "6273": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "POP",
      "path": "26"
    },
    "6274": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "POP",
      "path": "26"
    },
    "6275": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24272,
        24964
      ],
      "op": "POP",
      "path": "26"
    },
    "6276": {
      "fn": "MockUniswapV2Router02.swapExactTokensForTokensSupportingFeeOnTransferTokens",
      "jump": "o",
      "offset": [
        24272,
        24964
      ],
      "op": "JUMP",
      "path": "26"
    },
    "6277": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25791,
        26617
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "6278": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        25994,
        26002
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6279": {
      "offset": [
        8981,
        8996
      ],
      "op": "TIMESTAMP",
      "path": "26"
    },
    "6280": {
      "offset": [
        8969,
        8977
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6281": {
      "offset": [
        8969,
        8996
      ],
      "op": "LT",
      "path": "26"
    },
    "6282": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8969,
        8996
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "6283": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x18C9"
    },
    "6286": {
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "6287": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "6289": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6290": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "6291": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "6295": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "6297": {
      "op": "SHL"
    },
    "6298": {
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6299": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6300": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "6302": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "6304": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6305": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "6306": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6307": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x18"
    },
    "6309": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "6311": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6312": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "6313": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6314": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "6316": {
      "op": "DUP1"
    },
    "6317": {
      "op": "MLOAD"
    },
    "6318": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "6320": {
      "op": "PUSH2",
      "value": "0x45B6"
    },
    "6323": {
      "op": "DUP4"
    },
    "6324": {
      "op": "CODECOPY"
    },
    "6325": {
      "op": "DUP2"
    },
    "6326": {
      "op": "MLOAD"
    },
    "6327": {
      "op": "SWAP2"
    },
    "6328": {
      "op": "MSTORE"
    },
    "6329": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "6331": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6332": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "6333": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6334": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6335": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "6336": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6337": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6338": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6339": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SUB",
      "path": "26"
    },
    "6340": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "6342": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "6343": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6344": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "REVERT",
      "path": "26"
    },
    "6345": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "6346": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6348": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6350": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "6352": {
      "op": "SHL"
    },
    "6353": {
      "op": "SUB"
    },
    "6354": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26043,
        26047
      ],
      "op": "PUSH32",
      "path": "26",
      "statement": 28,
      "value": "0x0"
    },
    "6387": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26018,
        26047
      ],
      "op": "AND",
      "path": "26"
    },
    "6388": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26018,
        26022
      ],
      "op": "DUP6",
      "path": "26"
    },
    "6389": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26018,
        26022
      ],
      "op": "DUP6",
      "path": "26"
    },
    "6390": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "6392": {
      "op": "NOT"
    },
    "6393": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26023,
        26038
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6394": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26023,
        26038
      ],
      "op": "ADD",
      "path": "26"
    },
    "6395": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26018,
        26039
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6396": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26018,
        26039
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6397": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26018,
        26039
      ],
      "op": "LT",
      "path": "26"
    },
    "6398": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26018,
        26039
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1903"
    },
    "6401": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26018,
        26039
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "6402": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26018,
        26039
      ],
      "op": "INVALID",
      "path": "26"
    },
    "6403": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26018,
        26039
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "6404": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26018,
        26039
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6405": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26018,
        26039
      ],
      "op": "POP",
      "path": "26"
    },
    "6406": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26018,
        26039
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "6408": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26018,
        26039
      ],
      "op": "MUL",
      "path": "26"
    },
    "6409": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26018,
        26039
      ],
      "op": "ADD",
      "path": "26"
    },
    "6410": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26018,
        26039
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "6411": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6413": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6415": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "6417": {
      "op": "SHL"
    },
    "6418": {
      "op": "SUB"
    },
    "6419": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26018,
        26039
      ],
      "op": "AND",
      "path": "26"
    },
    "6420": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6422": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6424": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "6426": {
      "op": "SHL"
    },
    "6427": {
      "op": "SUB"
    },
    "6428": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26018,
        26047
      ],
      "op": "AND",
      "path": "26"
    },
    "6429": {
      "branch": 128,
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26018,
        26047
      ],
      "op": "EQ",
      "path": "26"
    },
    "6430": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x195C"
    },
    "6433": {
      "branch": 128,
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "6434": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "6436": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6437": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "6438": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "6442": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "6444": {
      "op": "SHL"
    },
    "6445": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6446": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6447": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "6449": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "6451": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6452": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "ADD",
      "path": "26"
    },
    "6453": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6454": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1D"
    },
    "6456": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "6458": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6459": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "ADD",
      "path": "26"
    },
    "6460": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6461": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "6463": {
      "op": "DUP1"
    },
    "6464": {
      "op": "MLOAD"
    },
    "6465": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "6467": {
      "op": "PUSH2",
      "value": "0x4464"
    },
    "6470": {
      "op": "DUP4"
    },
    "6471": {
      "op": "CODECOPY"
    },
    "6472": {
      "op": "DUP2"
    },
    "6473": {
      "op": "MLOAD"
    },
    "6474": {
      "op": "SWAP2"
    },
    "6475": {
      "op": "MSTORE"
    },
    "6476": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "6478": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6479": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "ADD",
      "path": "26"
    },
    "6480": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6481": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6482": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "6483": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6484": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6485": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6486": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "SUB",
      "path": "26"
    },
    "6487": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "6489": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "ADD",
      "path": "26"
    },
    "6490": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6491": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "REVERT",
      "path": "26"
    },
    "6492": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26010,
        26081
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "6493": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26087,
        26274
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 29,
      "value": "0x196C"
    },
    "6496": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26147,
        26151
      ],
      "op": "DUP6",
      "path": "26"
    },
    "6497": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26147,
        26151
      ],
      "op": "DUP6",
      "path": "26"
    },
    "6498": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26152,
        26153
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "6500": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26147,
        26154
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6501": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26147,
        26154
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6502": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26147,
        26154
      ],
      "op": "LT",
      "path": "26"
    },
    "6503": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26147,
        26154
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x165C"
    },
    "6506": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26147,
        26154
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "6507": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26147,
        26154
      ],
      "op": "INVALID",
      "path": "26"
    },
    "6508": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26087,
        26274
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "6509": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 30,
      "value": "0x19AA"
    },
    "6512": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26315,
        26319
      ],
      "op": "DUP6",
      "path": "26"
    },
    "6513": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26315,
        26319
      ],
      "op": "DUP6",
      "path": "26"
    },
    "6514": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6515": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6516": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "6518": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "MUL",
      "path": "26"
    },
    "6519": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "6521": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "ADD",
      "path": "26"
    },
    "6522": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "6524": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "6525": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6526": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6527": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "ADD",
      "path": "26"
    },
    "6528": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "6530": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6531": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6532": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "6533": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "6534": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "6535": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6536": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6537": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6538": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6539": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "6541": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "ADD",
      "path": "26"
    },
    "6542": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "DUP4",
      "path": "26"
    },
    "6543": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "DUP4",
      "path": "26"
    },
    "6544": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "6546": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "MUL",
      "path": "26"
    },
    "6547": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6548": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6549": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "DUP5",
      "path": "26"
    },
    "6550": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "CALLDATACOPY",
      "path": "26"
    },
    "6551": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "6553": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "6554": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "ADD",
      "path": "26"
    },
    "6555": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "6556": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6557": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "6558": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6559": {
      "op": "POP"
    },
    "6560": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26329,
        26333
      ],
      "op": "ADDRESS",
      "path": "26"
    },
    "6561": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26329,
        26333
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "6562": {
      "op": "POP"
    },
    "6563": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26314
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3918"
    },
    "6566": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26314
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "6567": {
      "op": "POP"
    },
    "6568": {
      "op": "POP"
    },
    "6569": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "jump": "i",
      "offset": [
        26280,
        26335
      ],
      "op": "JUMP",
      "path": "26"
    },
    "6570": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26280,
        26335
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "6571": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26341,
        26355
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "6573": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26365,
        26369
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "6606": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6608": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6610": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "6612": {
      "op": "SHL"
    },
    "6613": {
      "op": "SUB"
    },
    "6614": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26380
      ],
      "op": "AND",
      "path": "26"
    },
    "6615": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26380
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x70A08231"
    },
    "6620": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26389,
        26393
      ],
      "op": "ADDRESS",
      "path": "26"
    },
    "6621": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "6623": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "6624": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6625": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "6630": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "AND",
      "path": "26"
    },
    "6631": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "6633": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "SHL",
      "path": "26"
    },
    "6634": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6635": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6636": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "6638": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "ADD",
      "path": "26"
    },
    "6639": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6640": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6641": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6643": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6645": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "6647": {
      "op": "SHL"
    },
    "6648": {
      "op": "SUB"
    },
    "6649": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "AND",
      "path": "26"
    },
    "6650": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6651": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6652": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "6654": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "ADD",
      "path": "26"
    },
    "6655": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "6656": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "POP",
      "path": "26"
    },
    "6657": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "POP",
      "path": "26"
    },
    "6658": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "6660": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "6662": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "6663": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6664": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "DUP4",
      "path": "26"
    },
    "6665": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "SUB",
      "path": "26"
    },
    "6666": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6667": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "DUP7",
      "path": "26"
    },
    "6668": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6669": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "6670": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "6671": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6672": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "6673": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1A19"
    },
    "6676": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "6677": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "6679": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6680": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "REVERT",
      "path": "26"
    },
    "6681": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "6682": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "POP",
      "path": "26"
    },
    "6683": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "GAS",
      "path": "26"
    },
    "6684": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "STATICCALL",
      "path": "26"
    },
    "6685": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "6686": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6687": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "6688": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1A2D"
    },
    "6691": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "6692": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "6693": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "6695": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6696": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "6697": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "6698": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "6700": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "REVERT",
      "path": "26"
    },
    "6701": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "6702": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "POP",
      "path": "26"
    },
    "6703": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "POP",
      "path": "26"
    },
    "6704": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "POP",
      "path": "26"
    },
    "6705": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "POP",
      "path": "26"
    },
    "6706": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "6708": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "6709": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "6710": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "6712": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6713": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "LT",
      "path": "26"
    },
    "6714": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "6715": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1A43"
    },
    "6718": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "6719": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "6721": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6722": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "REVERT",
      "path": "26"
    },
    "6723": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "6724": {
      "op": "POP"
    },
    "6725": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "6726": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26358,
        26395
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6727": {
      "op": "POP"
    },
    "6728": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26409,
        26434
      ],
      "op": "DUP7",
      "path": "26",
      "statement": 31
    },
    "6729": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26409,
        26434
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6730": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26409,
        26434
      ],
      "op": "LT",
      "path": "26"
    },
    "6731": {
      "branch": 129,
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26409,
        26434
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "6732": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1A86"
    },
    "6735": {
      "branch": 129,
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "6736": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "6738": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "6739": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "6743": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "6745": {
      "op": "SHL"
    },
    "6746": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6747": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6748": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "6750": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "ADD",
      "path": "26"
    },
    "6751": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6752": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6753": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "6755": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "ADD",
      "path": "26"
    },
    "6756": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6757": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6758": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "SUB",
      "path": "26"
    },
    "6759": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6760": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6761": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x2B"
    },
    "6763": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6764": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6765": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "6767": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "ADD",
      "path": "26"
    },
    "6768": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6769": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4551"
    },
    "6772": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x2B"
    },
    "6774": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "6775": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "6776": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "6778": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "ADD",
      "path": "26"
    },
    "6779": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "6780": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "POP",
      "path": "26"
    },
    "6781": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "POP",
      "path": "26"
    },
    "6782": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "6784": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "6785": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6786": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "6787": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "SUB",
      "path": "26"
    },
    "6788": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6789": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "REVERT",
      "path": "26"
    },
    "6790": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26401,
        26482
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "6791": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26515,
        26519
      ],
      "op": "PUSH32",
      "path": "26",
      "statement": 32,
      "value": "0x0"
    },
    "6824": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6826": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6828": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "6830": {
      "op": "SHL"
    },
    "6831": {
      "op": "SUB"
    },
    "6832": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26529
      ],
      "op": "AND",
      "path": "26"
    },
    "6833": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26529
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x2E1A7D4D"
    },
    "6838": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26530,
        26539
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6839": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "6841": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "6842": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6843": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "6848": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "AND",
      "path": "26"
    },
    "6849": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "6851": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "SHL",
      "path": "26"
    },
    "6852": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6853": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6854": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "6856": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "ADD",
      "path": "26"
    },
    "6857": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6858": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6859": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6860": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6861": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "6863": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "ADD",
      "path": "26"
    },
    "6864": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "6865": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "POP",
      "path": "26"
    },
    "6866": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "POP",
      "path": "26"
    },
    "6867": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "6869": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "6871": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "6872": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6873": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "DUP4",
      "path": "26"
    },
    "6874": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "SUB",
      "path": "26"
    },
    "6875": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6876": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "6878": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "DUP8",
      "path": "26"
    },
    "6879": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6880": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "6881": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "6882": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6883": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "6884": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1AEC"
    },
    "6887": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "6888": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "6890": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6891": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "REVERT",
      "path": "26"
    },
    "6892": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "6893": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "POP",
      "path": "26"
    },
    "6894": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "GAS",
      "path": "26"
    },
    "6895": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "CALL",
      "path": "26"
    },
    "6896": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "6897": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6898": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "6899": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1B00"
    },
    "6902": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "6903": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "6904": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "6906": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6907": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "6908": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "6909": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "6911": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "REVERT",
      "path": "26"
    },
    "6912": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "6913": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "POP",
      "path": "26"
    },
    "6914": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "POP",
      "path": "26"
    },
    "6915": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "POP",
      "path": "26"
    },
    "6916": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26488,
        26540
      ],
      "op": "POP",
      "path": "26"
    },
    "6917": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26546,
        26612
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 33,
      "value": "0x187B"
    },
    "6920": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26598,
        26600
      ],
      "op": "DUP5",
      "path": "26"
    },
    "6921": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26602,
        26611
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6922": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "offset": [
        26546,
        26597
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x30C2"
    },
    "6925": {
      "fn": "MockUniswapV2Router02.swapExactTokensForETHSupportingFeeOnTransferTokens",
      "jump": "i",
      "offset": [
        26546,
        26612
      ],
      "op": "JUMP",
      "path": "26"
    },
    "6926": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "6927": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19512,
        19533
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "6929": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19493,
        19501
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6930": {
      "offset": [
        8981,
        8996
      ],
      "op": "TIMESTAMP",
      "path": "26"
    },
    "6931": {
      "offset": [
        8969,
        8977
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6932": {
      "offset": [
        8969,
        8996
      ],
      "op": "LT",
      "path": "26"
    },
    "6933": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8969,
        8996
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "6934": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1B54"
    },
    "6937": {
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "6938": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "6940": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP1",
      "path": "26"
    },
    "6941": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "6942": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "6946": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "6948": {
      "op": "SHL"
    },
    "6949": {
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6950": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6951": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "6953": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "6955": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6956": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "6957": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6958": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x18"
    },
    "6960": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "6962": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6963": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "6964": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6965": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "6967": {
      "op": "DUP1"
    },
    "6968": {
      "op": "MLOAD"
    },
    "6969": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "6971": {
      "op": "PUSH2",
      "value": "0x45B6"
    },
    "6974": {
      "op": "DUP4"
    },
    "6975": {
      "op": "CODECOPY"
    },
    "6976": {
      "op": "DUP2"
    },
    "6977": {
      "op": "MLOAD"
    },
    "6978": {
      "op": "SWAP2"
    },
    "6979": {
      "op": "MSTORE"
    },
    "6980": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "6982": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "6983": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "6984": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "6985": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6986": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "6987": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6988": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "6989": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6990": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SUB",
      "path": "26"
    },
    "6991": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "6993": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "6994": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "6995": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "REVERT",
      "path": "26"
    },
    "6996": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "6997": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19560,
        19564
      ],
      "op": "PUSH32",
      "path": "26",
      "statement": 34,
      "value": "0x0"
    },
    "7030": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "7032": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "7034": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "7036": {
      "op": "SHL"
    },
    "7037": {
      "op": "SUB"
    },
    "7038": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19549,
        19564
      ],
      "op": "AND",
      "path": "26"
    },
    "7039": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19549,
        19553
      ],
      "op": "DUP7",
      "path": "26"
    },
    "7040": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19549,
        19553
      ],
      "op": "DUP7",
      "path": "26"
    },
    "7041": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19554,
        19555
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "7043": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19549,
        19556
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7044": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19549,
        19556
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7045": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19549,
        19556
      ],
      "op": "LT",
      "path": "26"
    },
    "7046": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19549,
        19556
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1B8B"
    },
    "7049": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19549,
        19556
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "7050": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19549,
        19556
      ],
      "op": "INVALID",
      "path": "26"
    },
    "7051": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19549,
        19556
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "7052": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19549,
        19556
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "7053": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19549,
        19556
      ],
      "op": "POP",
      "path": "26"
    },
    "7054": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19549,
        19556
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7056": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19549,
        19556
      ],
      "op": "MUL",
      "path": "26"
    },
    "7057": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19549,
        19556
      ],
      "op": "ADD",
      "path": "26"
    },
    "7058": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19549,
        19556
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "7059": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "7061": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "7063": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "7065": {
      "op": "SHL"
    },
    "7066": {
      "op": "SUB"
    },
    "7067": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19549,
        19556
      ],
      "op": "AND",
      "path": "26"
    },
    "7068": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "7070": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "7072": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "7074": {
      "op": "SHL"
    },
    "7075": {
      "op": "SUB"
    },
    "7076": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19549,
        19564
      ],
      "op": "AND",
      "path": "26"
    },
    "7077": {
      "branch": 130,
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19549,
        19564
      ],
      "op": "EQ",
      "path": "26"
    },
    "7078": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1BE4"
    },
    "7081": {
      "branch": 130,
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "7082": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "7084": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7085": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7086": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "7090": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "7092": {
      "op": "SHL"
    },
    "7093": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7094": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7095": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7097": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "7099": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "DUP3",
      "path": "26"
    },
    "7100": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "ADD",
      "path": "26"
    },
    "7101": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7102": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1D"
    },
    "7104": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "7106": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "DUP3",
      "path": "26"
    },
    "7107": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "ADD",
      "path": "26"
    },
    "7108": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7109": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "7111": {
      "op": "DUP1"
    },
    "7112": {
      "op": "MLOAD"
    },
    "7113": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "7115": {
      "op": "PUSH2",
      "value": "0x4464"
    },
    "7118": {
      "op": "DUP4"
    },
    "7119": {
      "op": "CODECOPY"
    },
    "7120": {
      "op": "DUP2"
    },
    "7121": {
      "op": "MLOAD"
    },
    "7122": {
      "op": "SWAP2"
    },
    "7123": {
      "op": "MSTORE"
    },
    "7124": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "7126": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "DUP3",
      "path": "26"
    },
    "7127": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "ADD",
      "path": "26"
    },
    "7128": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7129": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "7130": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7131": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "7132": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7133": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "7134": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "SUB",
      "path": "26"
    },
    "7135": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "7137": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "ADD",
      "path": "26"
    },
    "7138": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "7139": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "REVERT",
      "path": "26"
    },
    "7140": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19541,
        19598
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "7141": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 35,
      "value": "0x1C42"
    },
    "7144": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19666,
        19673
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "7177": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19675,
        19684
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "7178": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19686,
        19690
      ],
      "op": "DUP9",
      "path": "26"
    },
    "7179": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19686,
        19690
      ],
      "op": "DUP9",
      "path": "26"
    },
    "7180": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7181": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7182": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7184": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "MUL",
      "path": "26"
    },
    "7185": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7187": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "ADD",
      "path": "26"
    },
    "7188": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "7190": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7191": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "7192": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7193": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "ADD",
      "path": "26"
    },
    "7194": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "7196": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7197": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7198": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "7199": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "7200": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "7201": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "7202": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7203": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7204": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7205": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7207": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "ADD",
      "path": "26"
    },
    "7208": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "DUP4",
      "path": "26"
    },
    "7209": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "DUP4",
      "path": "26"
    },
    "7210": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7212": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "MUL",
      "path": "26"
    },
    "7213": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7214": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "DUP3",
      "path": "26"
    },
    "7215": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "DUP5",
      "path": "26"
    },
    "7216": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "CALLDATACOPY",
      "path": "26"
    },
    "7217": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "7219": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "7220": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "ADD",
      "path": "26"
    },
    "7221": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "7222": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "7223": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "7224": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7225": {
      "op": "POP"
    },
    "7226": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19665
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3292"
    },
    "7229": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19665
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "7230": {
      "op": "POP"
    },
    "7231": {
      "op": "POP"
    },
    "7232": {
      "op": "POP"
    },
    "7233": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "jump": "i",
      "offset": [
        19614,
        19691
      ],
      "op": "JUMP",
      "path": "26"
    },
    "7234": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19614,
        19691
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "7235": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19604,
        19691
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "7236": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19604,
        19691
      ],
      "op": "POP",
      "path": "26"
    },
    "7237": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19743,
        19755
      ],
      "op": "DUP7",
      "path": "26",
      "statement": 36
    },
    "7238": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19712,
        19719
      ],
      "op": "DUP3",
      "path": "26"
    },
    "7239": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19737,
        19738
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "7241": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19720,
        19727
      ],
      "op": "DUP5",
      "path": "26"
    },
    "7242": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19720,
        19734
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7243": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19720,
        19738
      ],
      "op": "SUB",
      "path": "26"
    },
    "7244": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19712,
        19739
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7245": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19712,
        19739
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7246": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19712,
        19739
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7247": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19712,
        19739
      ],
      "op": "LT",
      "path": "26"
    },
    "7248": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19712,
        19739
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1C55"
    },
    "7251": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19712,
        19739
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "7252": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19712,
        19739
      ],
      "op": "INVALID",
      "path": "26"
    },
    "7253": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19712,
        19739
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "7254": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19712,
        19739
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7256": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19712,
        19739
      ],
      "op": "MUL",
      "path": "26"
    },
    "7257": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19712,
        19739
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7259": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19712,
        19739
      ],
      "op": "ADD",
      "path": "26"
    },
    "7260": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19712,
        19739
      ],
      "op": "ADD",
      "path": "26"
    },
    "7261": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19712,
        19739
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7262": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19712,
        19755
      ],
      "op": "LT",
      "path": "26"
    },
    "7263": {
      "branch": 131,
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19712,
        19755
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "7264": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1C9A"
    },
    "7267": {
      "branch": 131,
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "7268": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "7270": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7271": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "7275": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "7277": {
      "op": "SHL"
    },
    "7278": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7279": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7280": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "7282": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "ADD",
      "path": "26"
    },
    "7283": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7284": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7285": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7287": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "ADD",
      "path": "26"
    },
    "7288": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "DUP3",
      "path": "26"
    },
    "7289": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7290": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "SUB",
      "path": "26"
    },
    "7291": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "DUP3",
      "path": "26"
    },
    "7292": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7293": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x2B"
    },
    "7295": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7296": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7297": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7299": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "ADD",
      "path": "26"
    },
    "7300": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7301": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4551"
    },
    "7304": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x2B"
    },
    "7306": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "7307": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "7308": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "7310": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "ADD",
      "path": "26"
    },
    "7311": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "7312": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "POP",
      "path": "26"
    },
    "7313": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "POP",
      "path": "26"
    },
    "7314": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "7316": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7317": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7318": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "7319": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "SUB",
      "path": "26"
    },
    "7320": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "7321": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "REVERT",
      "path": "26"
    },
    "7322": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19697,
        19814
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "7323": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19847,
        19851
      ],
      "op": "PUSH32",
      "path": "26",
      "statement": 37,
      "value": "0x0"
    },
    "7356": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "7358": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "7360": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "7362": {
      "op": "SHL"
    },
    "7363": {
      "op": "SUB"
    },
    "7364": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19860
      ],
      "op": "AND",
      "path": "26"
    },
    "7365": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19860
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xD0E30DB0"
    },
    "7370": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19868,
        19875
      ],
      "op": "DUP4",
      "path": "26"
    },
    "7371": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19876,
        19877
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "7373": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19868,
        19878
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7374": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19868,
        19878
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7375": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19868,
        19878
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7376": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19868,
        19878
      ],
      "op": "LT",
      "path": "26"
    },
    "7377": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19868,
        19878
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1CD6"
    },
    "7380": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19868,
        19878
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "7381": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19868,
        19878
      ],
      "op": "INVALID",
      "path": "26"
    },
    "7382": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19868,
        19878
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "7383": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19868,
        19878
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7385": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19868,
        19878
      ],
      "op": "MUL",
      "path": "26"
    },
    "7386": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19868,
        19878
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7388": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19868,
        19878
      ],
      "op": "ADD",
      "path": "26"
    },
    "7389": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19868,
        19878
      ],
      "op": "ADD",
      "path": "26"
    },
    "7390": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19868,
        19878
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7391": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "7393": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7394": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "DUP3",
      "path": "26"
    },
    "7395": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "7400": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "AND",
      "path": "26"
    },
    "7401": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "7403": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "SHL",
      "path": "26"
    },
    "7404": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7405": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7406": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "7408": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "ADD",
      "path": "26"
    },
    "7409": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "7411": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "7413": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7414": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7415": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "DUP4",
      "path": "26"
    },
    "7416": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "SUB",
      "path": "26"
    },
    "7417": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7418": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "DUP6",
      "path": "26"
    },
    "7419": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "DUP9",
      "path": "26"
    },
    "7420": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7421": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "7422": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "7423": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7424": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "7425": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1D09"
    },
    "7428": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "7429": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "7431": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7432": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "REVERT",
      "path": "26"
    },
    "7433": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "7434": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "POP",
      "path": "26"
    },
    "7435": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "GAS",
      "path": "26"
    },
    "7436": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "CALL",
      "path": "26"
    },
    "7437": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "7438": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7439": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "7440": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1D1D"
    },
    "7443": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "7444": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "7445": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "7447": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7448": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "7449": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "7450": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "7452": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "REVERT",
      "path": "26"
    },
    "7453": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "7454": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "POP",
      "path": "26"
    },
    "7455": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "POP",
      "path": "26"
    },
    "7456": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "POP",
      "path": "26"
    },
    "7457": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "POP",
      "path": "26"
    },
    "7458": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19820,
        19881
      ],
      "op": "POP",
      "path": "26"
    },
    "7459": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19928,
        19932
      ],
      "op": "PUSH32",
      "path": "26",
      "statement": 38,
      "value": "0x0"
    },
    "7492": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "7494": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "7496": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "7498": {
      "op": "SHL"
    },
    "7499": {
      "op": "SUB"
    },
    "7500": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        19942
      ],
      "op": "AND",
      "path": "26"
    },
    "7501": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        19942
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xA9059CBB"
    },
    "7506": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19952,
        20024
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1D82"
    },
    "7509": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19998,
        20005
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "7542": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20007,
        20011
      ],
      "op": "DUP10",
      "path": "26"
    },
    "7543": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20007,
        20011
      ],
      "op": "DUP10",
      "path": "26"
    },
    "7544": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20012,
        20013
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "7546": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20007,
        20014
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7547": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20007,
        20014
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7548": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20007,
        20014
      ],
      "op": "LT",
      "path": "26"
    },
    "7549": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20007,
        20014
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x169E"
    },
    "7552": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20007,
        20014
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "7553": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20007,
        20014
      ],
      "op": "INVALID",
      "path": "26"
    },
    "7554": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19952,
        20024
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "7555": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20034,
        20041
      ],
      "op": "DUP5",
      "path": "26"
    },
    "7556": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20042,
        20043
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "7558": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20034,
        20044
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7559": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20034,
        20044
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7560": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20034,
        20044
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7561": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20034,
        20044
      ],
      "op": "LT",
      "path": "26"
    },
    "7562": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20034,
        20044
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1D8F"
    },
    "7565": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20034,
        20044
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "7566": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20034,
        20044
      ],
      "op": "INVALID",
      "path": "26"
    },
    "7567": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20034,
        20044
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "7568": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20034,
        20044
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7570": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20034,
        20044
      ],
      "op": "MUL",
      "path": "26"
    },
    "7571": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20034,
        20044
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7573": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20034,
        20044
      ],
      "op": "ADD",
      "path": "26"
    },
    "7574": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20034,
        20044
      ],
      "op": "ADD",
      "path": "26"
    },
    "7575": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20034,
        20044
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7576": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "7578": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7579": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "DUP4",
      "path": "26"
    },
    "7580": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "7585": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "AND",
      "path": "26"
    },
    "7586": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "7588": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "SHL",
      "path": "26"
    },
    "7589": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7590": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7591": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "7593": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "ADD",
      "path": "26"
    },
    "7594": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7595": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "DUP4",
      "path": "26"
    },
    "7596": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "7598": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "7600": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "7602": {
      "op": "SHL"
    },
    "7603": {
      "op": "SUB"
    },
    "7604": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "AND",
      "path": "26"
    },
    "7605": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7606": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7607": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7609": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "ADD",
      "path": "26"
    },
    "7610": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "DUP3",
      "path": "26"
    },
    "7611": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7612": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7613": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7615": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "ADD",
      "path": "26"
    },
    "7616": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "7617": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "POP",
      "path": "26"
    },
    "7618": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "POP",
      "path": "26"
    },
    "7619": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "POP",
      "path": "26"
    },
    "7620": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7622": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "7624": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7625": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7626": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "DUP4",
      "path": "26"
    },
    "7627": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "SUB",
      "path": "26"
    },
    "7628": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7629": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "7631": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "DUP8",
      "path": "26"
    },
    "7632": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7633": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "7634": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "7635": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7636": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "7637": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1DDD"
    },
    "7640": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "7641": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "7643": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7644": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "REVERT",
      "path": "26"
    },
    "7645": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "7646": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "POP",
      "path": "26"
    },
    "7647": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "GAS",
      "path": "26"
    },
    "7648": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "CALL",
      "path": "26"
    },
    "7649": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "7650": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7651": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "7652": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1DF1"
    },
    "7655": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "7656": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "7657": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "7659": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7660": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "7661": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "7662": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "7664": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "REVERT",
      "path": "26"
    },
    "7665": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "7666": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "POP",
      "path": "26"
    },
    "7667": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "POP",
      "path": "26"
    },
    "7668": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "POP",
      "path": "26"
    },
    "7669": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "POP",
      "path": "26"
    },
    "7670": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "7672": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7673": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "7674": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7676": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7677": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "LT",
      "path": "26"
    },
    "7678": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "7679": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1E07"
    },
    "7682": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "7683": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "7685": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7686": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "REVERT",
      "path": "26"
    },
    "7687": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "7688": {
      "op": "POP"
    },
    "7689": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19901,
        20052
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7690": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19887,
        20058
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1E0F"
    },
    "7693": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19887,
        20058
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "7694": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19887,
        20058
      ],
      "op": "INVALID",
      "path": "26"
    },
    "7695": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19887,
        20058
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "7696": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 39,
      "value": "0x1E4E"
    },
    "7699": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20070,
        20077
      ],
      "op": "DUP3",
      "path": "26"
    },
    "7700": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20079,
        20083
      ],
      "op": "DUP8",
      "path": "26"
    },
    "7701": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20079,
        20083
      ],
      "op": "DUP8",
      "path": "26"
    },
    "7702": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7703": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7704": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7706": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "MUL",
      "path": "26"
    },
    "7707": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7709": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "ADD",
      "path": "26"
    },
    "7710": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "7712": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7713": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "7714": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7715": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "ADD",
      "path": "26"
    },
    "7716": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "7718": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7719": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7720": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "7721": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "7722": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "7723": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "7724": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7725": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7726": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7727": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7729": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "ADD",
      "path": "26"
    },
    "7730": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "DUP4",
      "path": "26"
    },
    "7731": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "DUP4",
      "path": "26"
    },
    "7732": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7734": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "MUL",
      "path": "26"
    },
    "7735": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7736": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "DUP3",
      "path": "26"
    },
    "7737": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "DUP5",
      "path": "26"
    },
    "7738": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "CALLDATACOPY",
      "path": "26"
    },
    "7739": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "7741": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "7742": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "ADD",
      "path": "26"
    },
    "7743": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "7744": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "7745": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "7746": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7747": {
      "op": "POP"
    },
    "7748": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20085,
        20087
      ],
      "op": "DUP10",
      "path": "26"
    },
    "7749": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20085,
        20087
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "7750": {
      "op": "POP"
    },
    "7751": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20069
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x35B9"
    },
    "7754": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20069
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "7755": {
      "op": "POP"
    },
    "7756": {
      "op": "POP"
    },
    "7757": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "jump": "i",
      "offset": [
        20064,
        20088
      ],
      "op": "JUMP",
      "path": "26"
    },
    "7758": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        20064,
        20088
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "7759": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "POP",
      "path": "26"
    },
    "7760": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "SWAP6",
      "path": "26"
    },
    "7761": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "SWAP5",
      "path": "26"
    },
    "7762": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "POP",
      "path": "26"
    },
    "7763": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "POP",
      "path": "26"
    },
    "7764": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "POP",
      "path": "26"
    },
    "7765": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "POP",
      "path": "26"
    },
    "7766": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "offset": [
        19330,
        20093
      ],
      "op": "POP",
      "path": "26"
    },
    "7767": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokens",
      "jump": "o",
      "offset": [
        19330,
        20093
      ],
      "op": "JUMP",
      "path": "26"
    },
    "7768": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27120,
        27360
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "7769": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27244,
        27257
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "7771": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27272,
        27355
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 40,
      "value": "0xDBE"
    },
    "7774": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27322,
        27331
      ],
      "op": "DUP5",
      "path": "26"
    },
    "7775": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27333,
        27342
      ],
      "op": "DUP5",
      "path": "26"
    },
    "7776": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27344,
        27354
      ],
      "op": "DUP5",
      "path": "26"
    },
    "7777": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "offset": [
        27272,
        27321
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3C6A"
    },
    "7780": {
      "fn": "MockUniswapV2Router02.getAmountIn",
      "jump": "i",
      "offset": [
        27272,
        27355
      ],
      "op": "JUMP",
      "path": "26"
    },
    "7781": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18702,
        19326
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "7782": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18898,
        18919
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "7784": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18879,
        18887
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7785": {
      "offset": [
        8981,
        8996
      ],
      "op": "TIMESTAMP",
      "path": "26"
    },
    "7786": {
      "offset": [
        8969,
        8977
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7787": {
      "offset": [
        8969,
        8996
      ],
      "op": "LT",
      "path": "26"
    },
    "7788": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8969,
        8996
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "7789": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1EAB"
    },
    "7792": {
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "7793": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "7795": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7796": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7797": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "7801": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "7803": {
      "op": "SHL"
    },
    "7804": {
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7805": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7806": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7808": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "7810": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "7811": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "7812": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7813": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x18"
    },
    "7815": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "7817": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "7818": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "7819": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7820": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "7822": {
      "op": "DUP1"
    },
    "7823": {
      "op": "MLOAD"
    },
    "7824": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "7826": {
      "op": "PUSH2",
      "value": "0x45B6"
    },
    "7829": {
      "op": "DUP4"
    },
    "7830": {
      "op": "CODECOPY"
    },
    "7831": {
      "op": "DUP2"
    },
    "7832": {
      "op": "MLOAD"
    },
    "7833": {
      "op": "SWAP2"
    },
    "7834": {
      "op": "MSTORE"
    },
    "7835": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "7837": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "7838": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "7839": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7840": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "7841": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7842": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "7843": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7844": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "7845": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SUB",
      "path": "26"
    },
    "7846": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "7848": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "7849": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "7850": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "REVERT",
      "path": "26"
    },
    "7851": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "7852": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 41,
      "value": "0x1F09"
    },
    "7855": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18988,
        18995
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "7888": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18997,
        19006
      ],
      "op": "DUP10",
      "path": "26"
    },
    "7889": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19008,
        19012
      ],
      "op": "DUP9",
      "path": "26"
    },
    "7890": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19008,
        19012
      ],
      "op": "DUP9",
      "path": "26"
    },
    "7891": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7892": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7893": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7895": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "MUL",
      "path": "26"
    },
    "7896": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7898": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "ADD",
      "path": "26"
    },
    "7899": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "7901": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7902": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "7903": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7904": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "ADD",
      "path": "26"
    },
    "7905": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "7907": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7908": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7909": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "7910": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "7911": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "7912": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "7913": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7914": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7915": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7916": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7918": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "ADD",
      "path": "26"
    },
    "7919": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "DUP4",
      "path": "26"
    },
    "7920": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "DUP4",
      "path": "26"
    },
    "7921": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7923": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "MUL",
      "path": "26"
    },
    "7924": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7925": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "DUP3",
      "path": "26"
    },
    "7926": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "DUP5",
      "path": "26"
    },
    "7927": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "CALLDATACOPY",
      "path": "26"
    },
    "7928": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "7930": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "7931": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "ADD",
      "path": "26"
    },
    "7932": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "7933": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "7934": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "7935": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7936": {
      "op": "POP"
    },
    "7937": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        18987
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x37F6"
    },
    "7940": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        18987
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "7941": {
      "op": "POP"
    },
    "7942": {
      "op": "POP"
    },
    "7943": {
      "op": "POP"
    },
    "7944": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "jump": "i",
      "offset": [
        18937,
        19013
      ],
      "op": "JUMP",
      "path": "26"
    },
    "7945": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18937,
        19013
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "7946": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18927,
        19013
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "7947": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        18927,
        19013
      ],
      "op": "POP",
      "path": "26"
    },
    "7948": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19041,
        19052
      ],
      "op": "DUP7",
      "path": "26",
      "statement": 42
    },
    "7949": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19027,
        19034
      ],
      "op": "DUP3",
      "path": "26"
    },
    "7950": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19035,
        19036
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "7952": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19027,
        19037
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7953": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19027,
        19037
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7954": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19027,
        19037
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7955": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19027,
        19037
      ],
      "op": "LT",
      "path": "26"
    },
    "7956": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19027,
        19037
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1F19"
    },
    "7959": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19027,
        19037
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "7960": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19027,
        19037
      ],
      "op": "INVALID",
      "path": "26"
    },
    "7961": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19027,
        19037
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "7962": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19027,
        19037
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7964": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19027,
        19037
      ],
      "op": "MUL",
      "path": "26"
    },
    "7965": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19027,
        19037
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7967": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19027,
        19037
      ],
      "op": "ADD",
      "path": "26"
    },
    "7968": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19027,
        19037
      ],
      "op": "ADD",
      "path": "26"
    },
    "7969": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19027,
        19037
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7970": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19027,
        19052
      ],
      "op": "GT",
      "path": "26"
    },
    "7971": {
      "branch": 132,
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19027,
        19052
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "7972": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x131F"
    },
    "7975": {
      "branch": 132,
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "7976": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "7978": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "7979": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "7983": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "7985": {
      "op": "SHL"
    },
    "7986": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7987": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "7988": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "7990": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "ADD",
      "path": "26"
    },
    "7991": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7992": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "DUP1",
      "path": "26"
    },
    "7993": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "7995": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "ADD",
      "path": "26"
    },
    "7996": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "DUP3",
      "path": "26"
    },
    "7997": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "DUP2",
      "path": "26"
    },
    "7998": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "SUB",
      "path": "26"
    },
    "7999": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "DUP3",
      "path": "26"
    },
    "8000": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8001": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x27"
    },
    "8003": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8004": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8005": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "8007": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "ADD",
      "path": "26"
    },
    "8008": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8009": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x443D"
    },
    "8012": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x27"
    },
    "8014": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "8015": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "8016": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "8018": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "ADD",
      "path": "26"
    },
    "8019": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "8020": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "POP",
      "path": "26"
    },
    "8021": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "POP",
      "path": "26"
    },
    "8022": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "8024": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "8025": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8026": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "8027": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "SUB",
      "path": "26"
    },
    "8028": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "8029": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        19019,
        19096
      ],
      "op": "REVERT",
      "path": "26"
    },
    "8030": {
      "offset": [
        8881,
        8919
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "8031": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "8064": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "offset": [
        8881,
        8919
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8065": {
      "fn": "MockUniswapV2Router02.swapTokensForExactTokens",
      "jump": "o",
      "offset": [
        8881,
        8919
      ],
      "op": "JUMP",
      "path": "26"
    },
    "8066": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26654,
        26871
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "8067": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26767,
        26779
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8069": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26794,
        26866
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 43,
      "value": "0xDBE"
    },
    "8072": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26838,
        26845
      ],
      "op": "DUP5",
      "path": "26"
    },
    "8073": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26847,
        26855
      ],
      "op": "DUP5",
      "path": "26"
    },
    "8074": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26857,
        26865
      ],
      "op": "DUP5",
      "path": "26"
    },
    "8075": {
      "fn": "MockUniswapV2Router02.quote",
      "offset": [
        26794,
        26837
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3D42"
    },
    "8078": {
      "fn": "MockUniswapV2Router02.quote",
      "jump": "i",
      "offset": [
        26794,
        26866
      ],
      "op": "JUMP",
      "path": "26"
    },
    "8079": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15661,
        16338
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "8080": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15894,
        15908
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8082": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15875,
        15883
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8083": {
      "offset": [
        8981,
        8996
      ],
      "op": "TIMESTAMP",
      "path": "26"
    },
    "8084": {
      "offset": [
        8969,
        8977
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8085": {
      "offset": [
        8969,
        8996
      ],
      "op": "LT",
      "path": "26"
    },
    "8086": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8969,
        8996
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "8087": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1FD5"
    },
    "8090": {
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "8091": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "8093": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8094": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "8095": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "8099": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "8101": {
      "op": "SHL"
    },
    "8102": {
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8103": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8104": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "8106": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "8108": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "8109": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "8110": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8111": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x18"
    },
    "8113": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "8115": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "8116": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "8117": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8118": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8120": {
      "op": "DUP1"
    },
    "8121": {
      "op": "MLOAD"
    },
    "8122": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8124": {
      "op": "PUSH2",
      "value": "0x45B6"
    },
    "8127": {
      "op": "DUP4"
    },
    "8128": {
      "op": "CODECOPY"
    },
    "8129": {
      "op": "DUP2"
    },
    "8130": {
      "op": "MLOAD"
    },
    "8131": {
      "op": "SWAP2"
    },
    "8132": {
      "op": "MSTORE"
    },
    "8133": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "8135": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "8136": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "8137": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8138": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "8139": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "8140": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "8141": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8142": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "8143": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SUB",
      "path": "26"
    },
    "8144": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "8146": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "8147": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "8148": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "REVERT",
      "path": "26"
    },
    "8149": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "8150": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15932,
        16074
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 44,
      "value": "0x2004"
    },
    "8153": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15955,
        15960
      ],
      "op": "DUP9",
      "path": "26"
    },
    "8154": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15968,
        15972
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "8187": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15980,
        15989
      ],
      "op": "DUP10",
      "path": "26"
    },
    "8188": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15997,
        16011
      ],
      "op": "DUP10",
      "path": "26"
    },
    "8189": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16019,
        16031
      ],
      "op": "DUP10",
      "path": "26"
    },
    "8190": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16047,
        16051
      ],
      "op": "ADDRESS",
      "path": "26"
    },
    "8191": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16060,
        16068
      ],
      "op": "DUP10",
      "path": "26"
    },
    "8192": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15932,
        15947
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2486"
    },
    "8195": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "jump": "i",
      "offset": [
        15932,
        16074
      ],
      "op": "JUMP",
      "path": "26"
    },
    "8196": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15932,
        16074
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "8197": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15916,
        16074
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "8198": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15916,
        16074
      ],
      "op": "POP",
      "path": "26"
    },
    "8199": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15916,
        16074
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8200": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15916,
        16074
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "8201": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15916,
        16074
      ],
      "op": "POP",
      "path": "26"
    },
    "8202": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        15916,
        16074
      ],
      "op": "POP",
      "path": "26"
    },
    "8203": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16080,
        16203
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 45,
      "value": "0x208D"
    },
    "8206": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16136,
        16141
      ],
      "op": "DUP9",
      "path": "26"
    },
    "8207": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16149,
        16151
      ],
      "op": "DUP6",
      "path": "26"
    },
    "8208": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16166,
        16171
      ],
      "op": "DUP11",
      "path": "26"
    },
    "8209": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8211": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8213": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "8215": {
      "op": "SHL"
    },
    "8216": {
      "op": "SUB"
    },
    "8217": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16182
      ],
      "op": "AND",
      "path": "26"
    },
    "8218": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16182
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x70A08231"
    },
    "8223": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16191,
        16195
      ],
      "op": "ADDRESS",
      "path": "26"
    },
    "8224": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "8226": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "8227": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "DUP3",
      "path": "26"
    },
    "8228": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "8233": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "AND",
      "path": "26"
    },
    "8234": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "8236": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "SHL",
      "path": "26"
    },
    "8237": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8238": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8239": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "8241": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "ADD",
      "path": "26"
    },
    "8242": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8243": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "DUP3",
      "path": "26"
    },
    "8244": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8246": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8248": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "8250": {
      "op": "SHL"
    },
    "8251": {
      "op": "SUB"
    },
    "8252": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "AND",
      "path": "26"
    },
    "8253": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8254": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8255": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "8257": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "ADD",
      "path": "26"
    },
    "8258": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "8259": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "POP",
      "path": "26"
    },
    "8260": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "POP",
      "path": "26"
    },
    "8261": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "8263": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "8265": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "8266": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8267": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "DUP4",
      "path": "26"
    },
    "8268": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "SUB",
      "path": "26"
    },
    "8269": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8270": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "DUP7",
      "path": "26"
    },
    "8271": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8272": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "8273": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "8274": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8275": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "8276": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x205C"
    },
    "8279": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "8280": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8282": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8283": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "REVERT",
      "path": "26"
    },
    "8284": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "8285": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "POP",
      "path": "26"
    },
    "8286": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "GAS",
      "path": "26"
    },
    "8287": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "STATICCALL",
      "path": "26"
    },
    "8288": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "8289": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8290": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "8291": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2070"
    },
    "8294": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "8295": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "8296": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8298": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8299": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "8300": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "8301": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8303": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "REVERT",
      "path": "26"
    },
    "8304": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "8305": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "POP",
      "path": "26"
    },
    "8306": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "POP",
      "path": "26"
    },
    "8307": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "POP",
      "path": "26"
    },
    "8308": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "POP",
      "path": "26"
    },
    "8309": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "8311": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "8312": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "8313": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "8315": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8316": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "LT",
      "path": "26"
    },
    "8317": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "8318": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2086"
    },
    "8321": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "8322": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8324": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8325": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "REVERT",
      "path": "26"
    },
    "8326": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "8327": {
      "op": "POP"
    },
    "8328": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16159,
        16197
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "8329": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16080,
        16128
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2F6E"
    },
    "8332": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "jump": "i",
      "offset": [
        16080,
        16203
      ],
      "op": "JUMP",
      "path": "26"
    },
    "8333": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16080,
        16203
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "8334": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16236,
        16240
      ],
      "op": "PUSH32",
      "path": "26",
      "statement": 46,
      "value": "0x0"
    },
    "8367": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8369": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8371": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "8373": {
      "op": "SHL"
    },
    "8374": {
      "op": "SUB"
    },
    "8375": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16250
      ],
      "op": "AND",
      "path": "26"
    },
    "8376": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16250
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x2E1A7D4D"
    },
    "8381": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16251,
        16260
      ],
      "op": "DUP4",
      "path": "26"
    },
    "8382": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "8384": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "8385": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "DUP3",
      "path": "26"
    },
    "8386": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "8391": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "AND",
      "path": "26"
    },
    "8392": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "8394": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "SHL",
      "path": "26"
    },
    "8395": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8396": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8397": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "8399": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "ADD",
      "path": "26"
    },
    "8400": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8401": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "DUP3",
      "path": "26"
    },
    "8402": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8403": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8404": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "8406": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "ADD",
      "path": "26"
    },
    "8407": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "8408": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "POP",
      "path": "26"
    },
    "8409": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "POP",
      "path": "26"
    },
    "8410": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8412": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "8414": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "8415": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8416": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "DUP4",
      "path": "26"
    },
    "8417": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "SUB",
      "path": "26"
    },
    "8418": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8419": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8421": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "DUP8",
      "path": "26"
    },
    "8422": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8423": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "8424": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "8425": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8426": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "8427": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x20F3"
    },
    "8430": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "8431": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8433": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8434": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "REVERT",
      "path": "26"
    },
    "8435": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "8436": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "POP",
      "path": "26"
    },
    "8437": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "GAS",
      "path": "26"
    },
    "8438": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "CALL",
      "path": "26"
    },
    "8439": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "8440": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8441": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "8442": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2107"
    },
    "8445": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "8446": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "8447": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8449": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8450": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "8451": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "8452": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8454": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "REVERT",
      "path": "26"
    },
    "8455": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "8456": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "POP",
      "path": "26"
    },
    "8457": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "POP",
      "path": "26"
    },
    "8458": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "POP",
      "path": "26"
    },
    "8459": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16209,
        16261
      ],
      "op": "POP",
      "path": "26"
    },
    "8460": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16267,
        16333
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 47,
      "value": "0x10E8"
    },
    "8463": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16319,
        16321
      ],
      "op": "DUP5",
      "path": "26"
    },
    "8464": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16323,
        16332
      ],
      "op": "DUP4",
      "path": "26"
    },
    "8465": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "offset": [
        16267,
        16318
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x30C2"
    },
    "8468": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHSupportingFeeOnTransferTokens",
      "jump": "i",
      "offset": [
        16267,
        16333
      ],
      "op": "JUMP",
      "path": "26"
    },
    "8469": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        24968,
        25787
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "8470": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25160,
        25168
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8471": {
      "offset": [
        8981,
        8996
      ],
      "op": "TIMESTAMP",
      "path": "26"
    },
    "8472": {
      "offset": [
        8969,
        8977
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8473": {
      "offset": [
        8969,
        8996
      ],
      "op": "LT",
      "path": "26"
    },
    "8474": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8969,
        8996
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "8475": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2159"
    },
    "8478": {
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "8479": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "8481": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8482": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "8483": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "8487": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "8489": {
      "op": "SHL"
    },
    "8490": {
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8491": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8492": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "8494": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "8496": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "8497": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "8498": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8499": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x18"
    },
    "8501": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "8503": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "8504": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "8505": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8506": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8508": {
      "op": "DUP1"
    },
    "8509": {
      "op": "MLOAD"
    },
    "8510": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8512": {
      "op": "PUSH2",
      "value": "0x45B6"
    },
    "8515": {
      "op": "DUP4"
    },
    "8516": {
      "op": "CODECOPY"
    },
    "8517": {
      "op": "DUP2"
    },
    "8518": {
      "op": "MLOAD"
    },
    "8519": {
      "op": "SWAP2"
    },
    "8520": {
      "op": "MSTORE"
    },
    "8521": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "8523": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "8524": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "8525": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8526": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "8527": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "8528": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "8529": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8530": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "8531": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SUB",
      "path": "26"
    },
    "8532": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "8534": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "8535": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "8536": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "REVERT",
      "path": "26"
    },
    "8537": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "8538": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25195,
        25199
      ],
      "op": "PUSH32",
      "path": "26",
      "statement": 48,
      "value": "0x0"
    },
    "8571": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8573": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8575": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "8577": {
      "op": "SHL"
    },
    "8578": {
      "op": "SUB"
    },
    "8579": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25184,
        25199
      ],
      "op": "AND",
      "path": "26"
    },
    "8580": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25184,
        25188
      ],
      "op": "DUP6",
      "path": "26"
    },
    "8581": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25184,
        25188
      ],
      "op": "DUP6",
      "path": "26"
    },
    "8582": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25189,
        25190
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8584": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25184,
        25191
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8585": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25184,
        25191
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8586": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25184,
        25191
      ],
      "op": "LT",
      "path": "26"
    },
    "8587": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25184,
        25191
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2190"
    },
    "8590": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25184,
        25191
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "8591": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25184,
        25191
      ],
      "op": "INVALID",
      "path": "26"
    },
    "8592": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25184,
        25191
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "8593": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25184,
        25191
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "8594": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25184,
        25191
      ],
      "op": "POP",
      "path": "26"
    },
    "8595": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25184,
        25191
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "8597": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25184,
        25191
      ],
      "op": "MUL",
      "path": "26"
    },
    "8598": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25184,
        25191
      ],
      "op": "ADD",
      "path": "26"
    },
    "8599": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25184,
        25191
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "8600": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8602": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8604": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "8606": {
      "op": "SHL"
    },
    "8607": {
      "op": "SUB"
    },
    "8608": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25184,
        25191
      ],
      "op": "AND",
      "path": "26"
    },
    "8609": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8611": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8613": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "8615": {
      "op": "SHL"
    },
    "8616": {
      "op": "SUB"
    },
    "8617": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25184,
        25199
      ],
      "op": "AND",
      "path": "26"
    },
    "8618": {
      "branch": 133,
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25184,
        25199
      ],
      "op": "EQ",
      "path": "26"
    },
    "8619": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x21E9"
    },
    "8622": {
      "branch": 133,
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "8623": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "8625": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8626": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "8627": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "8631": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "8633": {
      "op": "SHL"
    },
    "8634": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8635": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8636": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "8638": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "8640": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "DUP3",
      "path": "26"
    },
    "8641": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "ADD",
      "path": "26"
    },
    "8642": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8643": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1D"
    },
    "8645": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "8647": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "DUP3",
      "path": "26"
    },
    "8648": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "ADD",
      "path": "26"
    },
    "8649": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8650": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "8652": {
      "op": "DUP1"
    },
    "8653": {
      "op": "MLOAD"
    },
    "8654": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "8656": {
      "op": "PUSH2",
      "value": "0x4464"
    },
    "8659": {
      "op": "DUP4"
    },
    "8660": {
      "op": "CODECOPY"
    },
    "8661": {
      "op": "DUP2"
    },
    "8662": {
      "op": "MLOAD"
    },
    "8663": {
      "op": "SWAP2"
    },
    "8664": {
      "op": "MSTORE"
    },
    "8665": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "8667": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "DUP3",
      "path": "26"
    },
    "8668": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "ADD",
      "path": "26"
    },
    "8669": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8670": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "8671": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "8672": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "8673": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8674": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "8675": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "SUB",
      "path": "26"
    },
    "8676": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "8678": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "ADD",
      "path": "26"
    },
    "8679": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "8680": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "REVERT",
      "path": "26"
    },
    "8681": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25176,
        25233
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "8682": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25239,
        25252
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8684": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25255,
        25264
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "8685": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25239,
        25264
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "8686": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25239,
        25264
      ],
      "op": "POP",
      "path": "26"
    },
    "8687": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25297,
        25301
      ],
      "op": "PUSH32",
      "path": "26",
      "statement": 49,
      "value": "0x0"
    },
    "8720": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8722": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8724": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "8726": {
      "op": "SHL"
    },
    "8727": {
      "op": "SUB"
    },
    "8728": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25310
      ],
      "op": "AND",
      "path": "26"
    },
    "8729": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25310
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xD0E30DB0"
    },
    "8734": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25318,
        25326
      ],
      "op": "DUP3",
      "path": "26"
    },
    "8735": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "8737": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "8738": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "DUP3",
      "path": "26"
    },
    "8739": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "8744": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "AND",
      "path": "26"
    },
    "8745": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "8747": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "SHL",
      "path": "26"
    },
    "8748": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8749": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8750": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "8752": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "ADD",
      "path": "26"
    },
    "8753": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8755": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "8757": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "8758": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8759": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "DUP4",
      "path": "26"
    },
    "8760": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "SUB",
      "path": "26"
    },
    "8761": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8762": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "DUP6",
      "path": "26"
    },
    "8763": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "DUP9",
      "path": "26"
    },
    "8764": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8765": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "8766": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "8767": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8768": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "8769": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2249"
    },
    "8772": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "8773": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8775": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8776": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "REVERT",
      "path": "26"
    },
    "8777": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "8778": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "POP",
      "path": "26"
    },
    "8779": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "GAS",
      "path": "26"
    },
    "8780": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "CALL",
      "path": "26"
    },
    "8781": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "8782": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8783": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "8784": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x225D"
    },
    "8787": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "8788": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "8789": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8791": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8792": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "8793": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "8794": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8796": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "REVERT",
      "path": "26"
    },
    "8797": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "8798": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "POP",
      "path": "26"
    },
    "8799": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "POP",
      "path": "26"
    },
    "8800": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "POP",
      "path": "26"
    },
    "8801": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "POP",
      "path": "26"
    },
    "8802": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25270,
        25329
      ],
      "op": "POP",
      "path": "26"
    },
    "8803": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25376,
        25380
      ],
      "op": "PUSH32",
      "path": "26",
      "statement": 50,
      "value": "0x0"
    },
    "8836": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8838": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8840": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "8842": {
      "op": "SHL"
    },
    "8843": {
      "op": "SUB"
    },
    "8844": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25390
      ],
      "op": "AND",
      "path": "26"
    },
    "8845": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25390
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xA9059CBB"
    },
    "8850": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25400,
        25472
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x22C2"
    },
    "8853": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25446,
        25453
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "8886": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25455,
        25459
      ],
      "op": "DUP10",
      "path": "26"
    },
    "8887": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25455,
        25459
      ],
      "op": "DUP10",
      "path": "26"
    },
    "8888": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25460,
        25461
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8890": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25455,
        25462
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8891": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25455,
        25462
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8892": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25455,
        25462
      ],
      "op": "LT",
      "path": "26"
    },
    "8893": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25455,
        25462
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x169E"
    },
    "8896": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25455,
        25462
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "8897": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25455,
        25462
      ],
      "op": "INVALID",
      "path": "26"
    },
    "8898": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25400,
        25472
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "8899": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25482,
        25490
      ],
      "op": "DUP4",
      "path": "26"
    },
    "8900": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "8902": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "8903": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "DUP4",
      "path": "26"
    },
    "8904": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "8909": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "AND",
      "path": "26"
    },
    "8910": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "8912": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "SHL",
      "path": "26"
    },
    "8913": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8914": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8915": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "8917": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "ADD",
      "path": "26"
    },
    "8918": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8919": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "DUP4",
      "path": "26"
    },
    "8920": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8922": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "8924": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "8926": {
      "op": "SHL"
    },
    "8927": {
      "op": "SUB"
    },
    "8928": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "AND",
      "path": "26"
    },
    "8929": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8930": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8931": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "8933": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "ADD",
      "path": "26"
    },
    "8934": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "DUP3",
      "path": "26"
    },
    "8935": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8936": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "8937": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "8939": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "ADD",
      "path": "26"
    },
    "8940": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "8941": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "POP",
      "path": "26"
    },
    "8942": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "POP",
      "path": "26"
    },
    "8943": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "POP",
      "path": "26"
    },
    "8944": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "8946": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "8948": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "8949": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8950": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "DUP4",
      "path": "26"
    },
    "8951": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "SUB",
      "path": "26"
    },
    "8952": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "DUP2",
      "path": "26"
    },
    "8953": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8955": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "DUP8",
      "path": "26"
    },
    "8956": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8957": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "8958": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "8959": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8960": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "8961": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2309"
    },
    "8964": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "8965": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8967": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8968": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "REVERT",
      "path": "26"
    },
    "8969": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "8970": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "POP",
      "path": "26"
    },
    "8971": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "GAS",
      "path": "26"
    },
    "8972": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "CALL",
      "path": "26"
    },
    "8973": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "8974": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8975": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "8976": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x231D"
    },
    "8979": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "8980": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "8981": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8983": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "DUP1",
      "path": "26"
    },
    "8984": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "8985": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "8986": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "8988": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "REVERT",
      "path": "26"
    },
    "8989": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "8990": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "POP",
      "path": "26"
    },
    "8991": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "POP",
      "path": "26"
    },
    "8992": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "POP",
      "path": "26"
    },
    "8993": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "POP",
      "path": "26"
    },
    "8994": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "8996": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "8997": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "8998": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "9000": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9001": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "LT",
      "path": "26"
    },
    "9002": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "9003": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2333"
    },
    "9006": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "9007": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "9009": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9010": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "REVERT",
      "path": "26"
    },
    "9011": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9012": {
      "op": "POP"
    },
    "9013": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25349,
        25498
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9014": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25335,
        25504
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x233B"
    },
    "9017": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25335,
        25504
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "9018": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25335,
        25504
      ],
      "op": "INVALID",
      "path": "26"
    },
    "9019": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25335,
        25504
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9020": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25510,
        25528
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "9022": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25538,
        25542
      ],
      "op": "DUP7",
      "path": "26"
    },
    "9023": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25538,
        25542
      ],
      "op": "DUP7",
      "path": "26"
    },
    "9024": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "9026": {
      "op": "NOT"
    },
    "9027": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25543,
        25558
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9028": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25543,
        25558
      ],
      "op": "ADD",
      "path": "26"
    },
    "9029": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25538,
        25559
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9030": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25538,
        25559
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9031": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25538,
        25559
      ],
      "op": "LT",
      "path": "26"
    },
    "9032": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25538,
        25559
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x234D"
    },
    "9035": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25538,
        25559
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "9036": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25538,
        25559
      ],
      "op": "INVALID",
      "path": "26"
    },
    "9037": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25538,
        25559
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9038": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25538,
        25559
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9039": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25538,
        25559
      ],
      "op": "POP",
      "path": "26"
    },
    "9040": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25538,
        25559
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "9042": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25538,
        25559
      ],
      "op": "MUL",
      "path": "26"
    },
    "9043": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25538,
        25559
      ],
      "op": "ADD",
      "path": "26"
    },
    "9044": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25538,
        25559
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "9045": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "9047": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "9049": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "9051": {
      "op": "SHL"
    },
    "9052": {
      "op": "SUB"
    },
    "9053": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25538,
        25559
      ],
      "op": "AND",
      "path": "26"
    },
    "9054": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "9056": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "9058": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "9060": {
      "op": "SHL"
    },
    "9061": {
      "op": "SUB"
    },
    "9062": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25570
      ],
      "op": "AND",
      "path": "26"
    },
    "9063": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25570
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x70A08231"
    },
    "9068": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25571,
        25573
      ],
      "op": "DUP7",
      "path": "26"
    },
    "9069": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "9071": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9072": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9073": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "9078": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "AND",
      "path": "26"
    },
    "9079": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "9081": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "SHL",
      "path": "26"
    },
    "9082": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9083": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9084": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "9086": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "ADD",
      "path": "26"
    },
    "9087": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9088": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9089": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "9091": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "9093": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "9095": {
      "op": "SHL"
    },
    "9096": {
      "op": "SUB"
    },
    "9097": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "AND",
      "path": "26"
    },
    "9098": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9099": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9100": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "9102": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "ADD",
      "path": "26"
    },
    "9103": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "9104": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "POP",
      "path": "26"
    },
    "9105": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "POP",
      "path": "26"
    },
    "9106": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "9108": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "9110": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9111": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9112": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "DUP4",
      "path": "26"
    },
    "9113": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "SUB",
      "path": "26"
    },
    "9114": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9115": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "DUP7",
      "path": "26"
    },
    "9116": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9117": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "9118": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "9119": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9120": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "9121": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x23A9"
    },
    "9124": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "9125": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "9127": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9128": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "REVERT",
      "path": "26"
    },
    "9129": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9130": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "POP",
      "path": "26"
    },
    "9131": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "GAS",
      "path": "26"
    },
    "9132": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "STATICCALL",
      "path": "26"
    },
    "9133": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "9134": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9135": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "9136": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x23BD"
    },
    "9139": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "9140": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "9141": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "9143": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9144": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "9145": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "9146": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "9148": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "REVERT",
      "path": "26"
    },
    "9149": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9150": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "POP",
      "path": "26"
    },
    "9151": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "POP",
      "path": "26"
    },
    "9152": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "POP",
      "path": "26"
    },
    "9153": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "POP",
      "path": "26"
    },
    "9154": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "9156": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9157": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "9158": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "9160": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9161": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "LT",
      "path": "26"
    },
    "9162": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "9163": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x23D3"
    },
    "9166": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "9167": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "9169": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9170": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "REVERT",
      "path": "26"
    },
    "9171": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9172": {
      "op": "POP"
    },
    "9173": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9174": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "PUSH1",
      "path": "26",
      "statement": 51,
      "value": "0x40"
    },
    "9176": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9177": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9178": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "9180": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "DUP10",
      "path": "26"
    },
    "9181": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9182": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "MUL",
      "path": "26"
    },
    "9183": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9184": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9185": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "ADD",
      "path": "26"
    },
    "9186": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9187": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "ADD",
      "path": "26"
    },
    "9188": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9189": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "9190": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9191": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "DUP10",
      "path": "26"
    },
    "9192": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9193": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9194": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "9195": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25531,
        25574
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "9196": {
      "op": "POP"
    },
    "9197": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2415"
    },
    "9200": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "9201": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9202": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "9203": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25615,
        25619
      ],
      "op": "DUP11",
      "path": "26"
    },
    "9204": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25615,
        25619
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "9205": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25615,
        25619
      ],
      "op": "DUP11",
      "path": "26"
    },
    "9206": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25615,
        25619
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "9207": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25615,
        25619
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9208": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25615,
        25619
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "9209": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "DUP6",
      "path": "26"
    },
    "9210": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "ADD",
      "path": "26"
    },
    "9211": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9212": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25615,
        25619
      ],
      "op": "DUP5",
      "path": "26"
    },
    "9213": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25615,
        25619
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9214": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9215": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25615,
        25619
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9216": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "DUP5",
      "path": "26"
    },
    "9217": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "CALLDATACOPY",
      "path": "26"
    },
    "9218": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "9220": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "9221": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "ADD",
      "path": "26"
    },
    "9222": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "9223": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9224": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "9225": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9226": {
      "op": "POP"
    },
    "9227": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25621,
        25623
      ],
      "op": "DUP10",
      "path": "26"
    },
    "9228": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25621,
        25623
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "9229": {
      "op": "POP"
    },
    "9230": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25614
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3918"
    },
    "9233": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25614
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "9234": {
      "op": "POP"
    },
    "9235": {
      "op": "POP"
    },
    "9236": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "jump": "i",
      "offset": [
        25580,
        25624
      ],
      "op": "JUMP",
      "path": "26"
    },
    "9237": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25580,
        25624
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9238": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25711,
        25723
      ],
      "op": "DUP8",
      "path": "26",
      "statement": 52
    },
    "9239": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25707
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x183E"
    },
    "9242": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25693,
        25706
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9243": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25652,
        25656
      ],
      "op": "DUP10",
      "path": "26"
    },
    "9244": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25652,
        25656
      ],
      "op": "DUP10",
      "path": "26"
    },
    "9245": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "9247": {
      "op": "NOT"
    },
    "9248": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25657,
        25672
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9249": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25657,
        25672
      ],
      "op": "ADD",
      "path": "26"
    },
    "9250": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25652,
        25673
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9251": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25652,
        25673
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9252": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25652,
        25673
      ],
      "op": "LT",
      "path": "26"
    },
    "9253": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25652,
        25673
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x242A"
    },
    "9256": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25652,
        25673
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "9257": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25652,
        25673
      ],
      "op": "INVALID",
      "path": "26"
    },
    "9258": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25652,
        25673
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9259": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25652,
        25673
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9260": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25652,
        25673
      ],
      "op": "POP",
      "path": "26"
    },
    "9261": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25652,
        25673
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "9263": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25652,
        25673
      ],
      "op": "MUL",
      "path": "26"
    },
    "9264": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25652,
        25673
      ],
      "op": "ADD",
      "path": "26"
    },
    "9265": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25652,
        25673
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "9266": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "9268": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "9270": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "9272": {
      "op": "SHL"
    },
    "9273": {
      "op": "SUB"
    },
    "9274": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25652,
        25673
      ],
      "op": "AND",
      "path": "26"
    },
    "9275": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "9277": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "9279": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "9281": {
      "op": "SHL"
    },
    "9282": {
      "op": "SUB"
    },
    "9283": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25684
      ],
      "op": "AND",
      "path": "26"
    },
    "9284": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25684
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x70A08231"
    },
    "9289": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25685,
        25687
      ],
      "op": "DUP10",
      "path": "26"
    },
    "9290": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "9292": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9293": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9294": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "9299": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "AND",
      "path": "26"
    },
    "9300": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "9302": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "SHL",
      "path": "26"
    },
    "9303": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9304": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9305": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "9307": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "ADD",
      "path": "26"
    },
    "9308": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9309": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9310": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "9312": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "9314": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "9316": {
      "op": "SHL"
    },
    "9317": {
      "op": "SUB"
    },
    "9318": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "AND",
      "path": "26"
    },
    "9319": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9320": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9321": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "9323": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "ADD",
      "path": "26"
    },
    "9324": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "9325": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "POP",
      "path": "26"
    },
    "9326": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "POP",
      "path": "26"
    },
    "9327": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "9329": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "9331": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9332": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9333": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "DUP4",
      "path": "26"
    },
    "9334": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "SUB",
      "path": "26"
    },
    "9335": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9336": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "DUP7",
      "path": "26"
    },
    "9337": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9338": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "9339": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "9340": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9341": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "9342": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x180C"
    },
    "9345": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "9346": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "9348": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9349": {
      "fn": "MockUniswapV2Router02.swapExactETHForTokensSupportingFeeOnTransferTokens",
      "offset": [
        25645,
        25688
      ],
      "op": "REVERT",
      "path": "26"
    },
    "9350": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9351": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12780,
        12792
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "9353": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12794,
        12806
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9354": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12761,
        12769
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9355": {
      "offset": [
        8981,
        8996
      ],
      "op": "TIMESTAMP",
      "path": "26"
    },
    "9356": {
      "offset": [
        8969,
        8977
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9357": {
      "offset": [
        8969,
        8996
      ],
      "op": "LT",
      "path": "26"
    },
    "9358": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8969,
        8996
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "9359": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x24CD"
    },
    "9362": {
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "9363": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "9365": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9366": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9367": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "9371": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "9373": {
      "op": "SHL"
    },
    "9374": {
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9375": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9376": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "9378": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "9380": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9381": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "9382": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9383": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x18"
    },
    "9385": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "9387": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9388": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "9389": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9390": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "9392": {
      "op": "DUP1"
    },
    "9393": {
      "op": "MLOAD"
    },
    "9394": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "9396": {
      "op": "PUSH2",
      "value": "0x45B6"
    },
    "9399": {
      "op": "DUP4"
    },
    "9400": {
      "op": "CODECOPY"
    },
    "9401": {
      "op": "DUP2"
    },
    "9402": {
      "op": "MLOAD"
    },
    "9403": {
      "op": "SWAP2"
    },
    "9404": {
      "op": "MSTORE"
    },
    "9405": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "9407": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9408": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "9409": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9410": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9411": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9412": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9413": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9414": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9415": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "SUB",
      "path": "26"
    },
    "9416": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "9418": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "9419": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9420": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "REVERT",
      "path": "26"
    },
    "9421": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9422": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12814,
        12826
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "9424": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12829,
        12899
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x24FA"
    },
    "9427": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12875,
        12882
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "9460": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12884,
        12890
      ],
      "op": "DUP13",
      "path": "26"
    },
    "9461": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12892,
        12898
      ],
      "op": "DUP13",
      "path": "26"
    },
    "9462": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12829,
        12874
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x33C8"
    },
    "9465": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "jump": "i",
      "offset": [
        12829,
        12899
      ],
      "op": "JUMP",
      "path": "26"
    },
    "9466": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12829,
        12899
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9467": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "PUSH1",
      "path": "26",
      "statement": 53,
      "value": "0x40"
    },
    "9469": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9470": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9471": {
      "op": "PUSH4",
      "value": "0x23B872DD"
    },
    "9476": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "9478": {
      "op": "SHL"
    },
    "9479": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9480": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9481": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12960,
        12970
      ],
      "op": "CALLER",
      "path": "26"
    },
    "9482": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "9484": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9485": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "ADD",
      "path": "26"
    },
    "9486": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9487": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "9489": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "9491": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "9493": {
      "op": "SHL"
    },
    "9494": {
      "op": "SUB"
    },
    "9495": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12959
      ],
      "op": "DUP4",
      "path": "26"
    },
    "9496": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12959
      ],
      "op": "AND",
      "path": "26"
    },
    "9497": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "9499": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9500": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "ADD",
      "path": "26"
    },
    "9501": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9502": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9503": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9504": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "9506": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9507": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "ADD",
      "path": "26"
    },
    "9508": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "DUP14",
      "path": "26"
    },
    "9509": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9510": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9511": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "9512": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9513": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12814,
        12899
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "9514": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12814,
        12899
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "9515": {
      "op": "POP"
    },
    "9516": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12959
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9517": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12959
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "9518": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12959
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x23B872DD"
    },
    "9523": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12959
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "9524": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "9526": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9527": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9528": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "ADD",
      "path": "26"
    },
    "9529": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "9530": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "9532": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "9533": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9534": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "9535": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9536": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9537": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9538": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "SUB",
      "path": "26"
    },
    "9539": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "ADD",
      "path": "26"
    },
    "9540": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9541": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "9543": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12959
      ],
      "op": "DUP8",
      "path": "26"
    },
    "9544": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9545": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "9546": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "9547": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9548": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "9549": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2555"
    },
    "9552": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "9553": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "9555": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9556": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "REVERT",
      "path": "26"
    },
    "9557": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9558": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "POP",
      "path": "26"
    },
    "9559": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "GAS",
      "path": "26"
    },
    "9560": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "CALL",
      "path": "26"
    },
    "9561": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "9562": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9563": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "9564": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2569"
    },
    "9567": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "9568": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "9569": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "9571": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9572": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "9573": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "9574": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "9576": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "REVERT",
      "path": "26"
    },
    "9577": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9578": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "POP",
      "path": "26"
    },
    "9579": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "POP",
      "path": "26"
    },
    "9580": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "POP",
      "path": "26"
    },
    "9581": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "POP",
      "path": "26"
    },
    "9582": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "9584": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9585": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "9586": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "9588": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9589": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "LT",
      "path": "26"
    },
    "9590": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "9591": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x257F"
    },
    "9594": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "9595": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "9597": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9598": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "REVERT",
      "path": "26"
    },
    "9599": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12905,
        12988
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9600": {
      "op": "POP"
    },
    "9601": {
      "op": "POP"
    },
    "9602": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "9604": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9605": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9606": {
      "op": "PUSH4",
      "value": "0x226BF2D1"
    },
    "9611": {
      "op": "PUSH1",
      "value": "0xE2"
    },
    "9613": {
      "op": "SHL"
    },
    "9614": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9615": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9616": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "9618": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "9620": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "9622": {
      "op": "SHL"
    },
    "9623": {
      "op": "SUB"
    },
    "9624": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "DUP9",
      "path": "26"
    },
    "9625": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9626": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "AND",
      "path": "26"
    },
    "9627": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "9629": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "DUP4",
      "path": "26"
    },
    "9630": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "ADD",
      "path": "26"
    },
    "9631": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9632": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9633": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9634": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13021,
        13033
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "9636": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13021,
        13033
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "9637": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13021,
        13033
      ],
      "op": "DUP5",
      "path": "26"
    },
    "9638": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13021,
        13033
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "9639": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13097
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "9640": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13097
      ],
      "op": "DUP7",
      "path": "26"
    },
    "9641": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13097
      ],
      "op": "AND",
      "path": "26"
    },
    "9642": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13097
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "9643": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13097
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x89AFCB44"
    },
    "9648": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13097
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "9649": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "9651": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9652": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "DUP4",
      "path": "26"
    },
    "9653": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "ADD",
      "path": "26"
    },
    "9654": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "9655": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "9656": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9657": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9658": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "SUB",
      "path": "26"
    },
    "9659": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "ADD",
      "path": "26"
    },
    "9660": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9661": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13021,
        13033
      ],
      "op": "DUP8",
      "path": "26"
    },
    "9662": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13097
      ],
      "op": "DUP8",
      "path": "26"
    },
    "9663": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9664": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "9665": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "9666": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9667": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "9668": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x25CC"
    },
    "9671": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "9672": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "9674": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9675": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "REVERT",
      "path": "26"
    },
    "9676": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9677": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "POP",
      "path": "26"
    },
    "9678": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "GAS",
      "path": "26"
    },
    "9679": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "CALL",
      "path": "26"
    },
    "9680": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "9681": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9682": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "9683": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x25E0"
    },
    "9686": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "9687": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "9688": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "9690": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9691": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "9692": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "9693": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "9695": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "REVERT",
      "path": "26"
    },
    "9696": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9697": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "POP",
      "path": "26"
    },
    "9698": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "POP",
      "path": "26"
    },
    "9699": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "POP",
      "path": "26"
    },
    "9700": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "POP",
      "path": "26"
    },
    "9701": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "9703": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9704": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "9705": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "9707": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9708": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "LT",
      "path": "26"
    },
    "9709": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "9710": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x25F6"
    },
    "9713": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "9714": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "9716": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9717": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "REVERT",
      "path": "26"
    },
    "9718": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9719": {
      "op": "POP"
    },
    "9720": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9721": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9722": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "9724": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9725": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "9726": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "ADD",
      "path": "26"
    },
    "9727": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9728": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9729": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "9730": {
      "op": "POP"
    },
    "9731": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13051,
        13101
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9732": {
      "op": "POP"
    },
    "9733": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13108,
        13122
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "9735": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13128,
        13192
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2610"
    },
    "9738": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13177,
        13183
      ],
      "op": "DUP15",
      "path": "26"
    },
    "9739": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13185,
        13191
      ],
      "op": "DUP15",
      "path": "26"
    },
    "9740": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13128,
        13176
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3DE8"
    },
    "9743": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "jump": "i",
      "offset": [
        13128,
        13192
      ],
      "op": "JUMP",
      "path": "26"
    },
    "9744": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13128,
        13192
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9745": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13107,
        13192
      ],
      "op": "POP",
      "path": "26"
    },
    "9746": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13107,
        13192
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9747": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13107,
        13192
      ],
      "op": "POP",
      "path": "26"
    },
    "9748": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13229,
        13235
      ],
      "op": "DUP1",
      "path": "26",
      "statement": 54
    },
    "9749": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "9751": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "9753": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "9755": {
      "op": "SHL"
    },
    "9756": {
      "op": "SUB"
    },
    "9757": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13219,
        13235
      ],
      "op": "AND",
      "path": "26"
    },
    "9758": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13219,
        13225
      ],
      "op": "DUP15",
      "path": "26"
    },
    "9759": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "9761": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "9763": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "9765": {
      "op": "SHL"
    },
    "9766": {
      "op": "SUB"
    },
    "9767": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13219,
        13235
      ],
      "op": "AND",
      "path": "26"
    },
    "9768": {
      "branch": 134,
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13219,
        13235
      ],
      "op": "EQ",
      "path": "26"
    },
    "9769": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13219,
        13277
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2633"
    },
    "9772": {
      "branch": 134,
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13219,
        13277
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "9773": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13260,
        13267
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9774": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13269,
        13276
      ],
      "op": "DUP4",
      "path": "26"
    },
    "9775": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13219,
        13277
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2636"
    },
    "9778": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13219,
        13277
      ],
      "op": "JUMP",
      "path": "26"
    },
    "9779": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13219,
        13277
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9780": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13239,
        13246
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9781": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13248,
        13255
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9782": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13219,
        13277
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9783": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13198,
        13277
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9784": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13198,
        13277
      ],
      "op": "SWAP8",
      "path": "26"
    },
    "9785": {
      "op": "POP"
    },
    "9786": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13198,
        13277
      ],
      "op": "SWAP6",
      "path": "26"
    },
    "9787": {
      "op": "POP"
    },
    "9788": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13291,
        13312
      ],
      "op": "DUP11",
      "path": "26",
      "statement": 55
    },
    "9789": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13291,
        13312
      ],
      "op": "DUP8",
      "path": "26"
    },
    "9790": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13291,
        13312
      ],
      "op": "LT",
      "path": "26"
    },
    "9791": {
      "branch": 135,
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13291,
        13312
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "9792": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x267A"
    },
    "9795": {
      "branch": 135,
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "9796": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "9798": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9799": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "9803": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "9805": {
      "op": "SHL"
    },
    "9806": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9807": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9808": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "9810": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "ADD",
      "path": "26"
    },
    "9811": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9812": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9813": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "9815": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "ADD",
      "path": "26"
    },
    "9816": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9817": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9818": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "SUB",
      "path": "26"
    },
    "9819": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9820": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9821": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x26"
    },
    "9823": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9824": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9825": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "9827": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "ADD",
      "path": "26"
    },
    "9828": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9829": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x452B"
    },
    "9832": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x26"
    },
    "9834": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "9835": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "9836": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "9838": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "ADD",
      "path": "26"
    },
    "9839": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "9840": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "POP",
      "path": "26"
    },
    "9841": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "POP",
      "path": "26"
    },
    "9842": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "9844": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9845": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9846": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "9847": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "SUB",
      "path": "26"
    },
    "9848": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9849": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "REVERT",
      "path": "26"
    },
    "9850": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13283,
        13355
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9851": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13380,
        13390
      ],
      "op": "DUP10",
      "path": "26",
      "statement": 56
    },
    "9852": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13369,
        13376
      ],
      "op": "DUP7",
      "path": "26"
    },
    "9853": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13369,
        13390
      ],
      "op": "LT",
      "path": "26"
    },
    "9854": {
      "branch": 136,
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13369,
        13390
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "9855": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x26B9"
    },
    "9858": {
      "branch": 136,
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "9859": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "9861": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9862": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "9866": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "9868": {
      "op": "SHL"
    },
    "9869": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9870": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9871": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "9873": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "ADD",
      "path": "26"
    },
    "9874": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9875": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9876": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "9878": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "ADD",
      "path": "26"
    },
    "9879": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9880": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9881": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "SUB",
      "path": "26"
    },
    "9882": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "DUP3",
      "path": "26"
    },
    "9883": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9884": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x26"
    },
    "9886": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9887": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "9888": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "9890": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "ADD",
      "path": "26"
    },
    "9891": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9892": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4367"
    },
    "9895": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x26"
    },
    "9897": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "9898": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "9899": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "9901": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "ADD",
      "path": "26"
    },
    "9902": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "9903": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "POP",
      "path": "26"
    },
    "9904": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "POP",
      "path": "26"
    },
    "9905": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "9907": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "9908": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "DUP1",
      "path": "26"
    },
    "9909": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "9910": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "SUB",
      "path": "26"
    },
    "9911": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "9912": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "REVERT",
      "path": "26"
    },
    "9913": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        13361,
        13433
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9914": {
      "offset": [
        9031,
        9032
      ],
      "op": "POP",
      "path": "26"
    },
    "9915": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        9031,
        9032
      ],
      "op": "POP",
      "path": "26"
    },
    "9916": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        9031,
        9032
      ],
      "op": "POP",
      "path": "26"
    },
    "9917": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        9031,
        9032
      ],
      "op": "POP",
      "path": "26"
    },
    "9918": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "POP",
      "path": "26"
    },
    "9919": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "SWAP8",
      "path": "26"
    },
    "9920": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "POP",
      "path": "26"
    },
    "9921": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "SWAP8",
      "path": "26"
    },
    "9922": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "SWAP6",
      "path": "26"
    },
    "9923": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "POP",
      "path": "26"
    },
    "9924": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "POP",
      "path": "26"
    },
    "9925": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "POP",
      "path": "26"
    },
    "9926": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "POP",
      "path": "26"
    },
    "9927": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "POP",
      "path": "26"
    },
    "9928": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        12564,
        13438
      ],
      "op": "POP",
      "path": "26"
    },
    "9929": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "jump": "o",
      "offset": [
        12564,
        13438
      ],
      "op": "JUMP",
      "path": "26"
    },
    "9930": {
      "offset": [
        8836,
        8877
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9931": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8836,
        8877
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "9964": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "offset": [
        8836,
        8877
      ],
      "op": "DUP2",
      "path": "26"
    },
    "9965": {
      "fn": "MockUniswapV2Router02.removeLiquidity",
      "jump": "o",
      "offset": [
        8836,
        8877
      ],
      "op": "JUMP",
      "path": "26"
    },
    "9966": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27364,
        27602
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "9967": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27483,
        27504
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "9969": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27521,
        27597
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 57,
      "value": "0x1120"
    },
    "9972": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27573,
        27580
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "10005": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27582,
        27590
      ],
      "op": "DUP5",
      "path": "26"
    },
    "10006": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27592,
        27596
      ],
      "op": "DUP5",
      "path": "26"
    },
    "10007": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "offset": [
        27521,
        27572
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3292"
    },
    "10010": {
      "fn": "MockUniswapV2Router02.getAmountsOut",
      "jump": "i",
      "offset": [
        27521,
        27597
      ],
      "op": "JUMP",
      "path": "26"
    },
    "10011": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10012": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15100,
        15116
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "10014": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15118,
        15132
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10015": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15140,
        15152
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "10017": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15155,
        15222
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x276B"
    },
    "10020": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15201,
        15208
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "10053": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15210,
        15215
      ],
      "op": "DUP15",
      "path": "26"
    },
    "10054": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15217,
        15221
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "10087": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15155,
        15200
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x33C8"
    },
    "10090": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "jump": "i",
      "offset": [
        15155,
        15222
      ],
      "op": "JUMP",
      "path": "26"
    },
    "10091": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15155,
        15222
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10092": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15140,
        15222
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10093": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15140,
        15222
      ],
      "op": "POP",
      "path": "26"
    },
    "10094": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15228,
        15238
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "10096": {
      "branch": 137,
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15241,
        15251
      ],
      "op": "DUP8",
      "path": "26"
    },
    "10097": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15241,
        15274
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x277A"
    },
    "10100": {
      "branch": 137,
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15241,
        15274
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "10101": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15265,
        15274
      ],
      "op": "DUP13",
      "path": "26"
    },
    "10102": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15241,
        15274
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x277E"
    },
    "10105": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15241,
        15274
      ],
      "op": "JUMP",
      "path": "26"
    },
    "10106": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15241,
        15274
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10107": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "10109": {
      "op": "NOT"
    },
    "10110": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15241,
        15274
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10111": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "PUSH1",
      "path": "26",
      "statement": 58,
      "value": "0x40"
    },
    "10113": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10114": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "10115": {
      "op": "PUSH4",
      "value": "0xD505ACCF"
    },
    "10120": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "10122": {
      "op": "SHL"
    },
    "10123": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP2",
      "path": "26"
    },
    "10124": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "10125": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15336,
        15346
      ],
      "op": "CALLER",
      "path": "26"
    },
    "10126": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "10128": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP3",
      "path": "26"
    },
    "10129": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "ADD",
      "path": "26"
    },
    "10130": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "10131": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15362,
        15366
      ],
      "op": "ADDRESS",
      "path": "26"
    },
    "10132": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "10134": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP3",
      "path": "26"
    },
    "10135": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "ADD",
      "path": "26"
    },
    "10136": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "10137": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "10139": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP2",
      "path": "26"
    },
    "10140": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "ADD",
      "path": "26"
    },
    "10141": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP4",
      "path": "26"
    },
    "10142": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10143": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "10144": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "10146": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP2",
      "path": "26"
    },
    "10147": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "ADD",
      "path": "26"
    },
    "10148": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP13",
      "path": "26"
    },
    "10149": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10150": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "10151": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xFF"
    },
    "10153": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP11",
      "path": "26"
    },
    "10154": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "AND",
      "path": "26"
    },
    "10155": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x84"
    },
    "10157": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP3",
      "path": "26"
    },
    "10158": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "ADD",
      "path": "26"
    },
    "10159": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "10160": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xA4"
    },
    "10162": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP2",
      "path": "26"
    },
    "10163": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "ADD",
      "path": "26"
    },
    "10164": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP10",
      "path": "26"
    },
    "10165": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10166": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "10167": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xC4"
    },
    "10169": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP2",
      "path": "26"
    },
    "10170": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "ADD",
      "path": "26"
    },
    "10171": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP9",
      "path": "26"
    },
    "10172": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10173": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "10174": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10175": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "10176": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15228,
        15274
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "10177": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15228,
        15274
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "10178": {
      "op": "POP"
    },
    "10179": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "10181": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "10183": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "10185": {
      "op": "SHL"
    },
    "10186": {
      "op": "SUB"
    },
    "10187": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15328
      ],
      "op": "DUP5",
      "path": "26"
    },
    "10188": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15328
      ],
      "op": "AND",
      "path": "26"
    },
    "10189": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15328
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "10190": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15328
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xD505ACCF"
    },
    "10195": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15328
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "10196": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE4"
    },
    "10198": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10199": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP3",
      "path": "26"
    },
    "10200": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "ADD",
      "path": "26"
    },
    "10201": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "10202": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "10204": {
      "op": "SWAP3"
    },
    "10205": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10206": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "10207": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10208": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP3",
      "path": "26"
    },
    "10209": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10210": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "SUB",
      "path": "26"
    },
    "10211": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "ADD",
      "path": "26"
    },
    "10212": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP2",
      "path": "26"
    },
    "10213": {
      "op": "DUP4"
    },
    "10214": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15328
      ],
      "op": "DUP8",
      "path": "26"
    },
    "10215": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10216": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "10217": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "10218": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10219": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "10220": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x27F4"
    },
    "10223": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "10224": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "10226": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10227": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "REVERT",
      "path": "26"
    },
    "10228": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10229": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "POP",
      "path": "26"
    },
    "10230": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "GAS",
      "path": "26"
    },
    "10231": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "CALL",
      "path": "26"
    },
    "10232": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "10233": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10234": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "10235": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2808"
    },
    "10238": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "10239": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "10240": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "10242": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10243": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "10244": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "10245": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "10247": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "REVERT",
      "path": "26"
    },
    "10248": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10249": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "POP",
      "path": "26"
    },
    "10250": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "POP",
      "path": "26"
    },
    "10251": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "POP",
      "path": "26"
    },
    "10252": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15280,
        15429
      ],
      "op": "POP",
      "path": "26"
    },
    "10253": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15462,
        15584
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 59,
      "value": "0x281A"
    },
    "10256": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15488,
        15493
      ],
      "op": "DUP15",
      "path": "26"
    },
    "10257": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15501,
        15510
      ],
      "op": "DUP15",
      "path": "26"
    },
    "10258": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15518,
        15532
      ],
      "op": "DUP15",
      "path": "26"
    },
    "10259": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15540,
        15552
      ],
      "op": "DUP15",
      "path": "26"
    },
    "10260": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15560,
        15562
      ],
      "op": "DUP15",
      "path": "26"
    },
    "10261": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15570,
        15578
      ],
      "op": "DUP15",
      "path": "26"
    },
    "10262": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15462,
        15480
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0xC97"
    },
    "10265": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "jump": "i",
      "offset": [
        15462,
        15584
      ],
      "op": "JUMP",
      "path": "26"
    },
    "10266": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15462,
        15584
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10267": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15435,
        15584
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10268": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15435,
        15584
      ],
      "op": "SWAP16",
      "path": "26"
    },
    "10269": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15435,
        15584
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10270": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        15435,
        15584
      ],
      "op": "SWAP15",
      "path": "26"
    },
    "10271": {
      "op": "POP"
    },
    "10272": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "offset": [
        14837,
        15589
      ],
      "op": "SWAP13",
      "path": "26"
    },
    "10273": {
      "op": "POP"
    },
    "10274": {
      "op": "POP"
    },
    "10275": {
      "op": "POP"
    },
    "10276": {
      "op": "POP"
    },
    "10277": {
      "op": "POP"
    },
    "10278": {
      "op": "POP"
    },
    "10279": {
      "op": "POP"
    },
    "10280": {
      "op": "POP"
    },
    "10281": {
      "op": "POP"
    },
    "10282": {
      "op": "POP"
    },
    "10283": {
      "op": "POP"
    },
    "10284": {
      "op": "POP"
    },
    "10285": {
      "op": "POP"
    },
    "10286": {
      "fn": "MockUniswapV2Router02.removeLiquidityETHWithPermit",
      "jump": "o",
      "offset": [
        14837,
        15589
      ],
      "op": "JUMP",
      "path": "26"
    },
    "10287": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10288": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10924,
        10936
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "10290": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10944,
        10956
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10291": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10964,
        10978
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "10293": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10894,
        10902
      ],
      "op": "DUP4",
      "path": "26"
    },
    "10294": {
      "offset": [
        8981,
        8996
      ],
      "op": "TIMESTAMP",
      "path": "26"
    },
    "10295": {
      "offset": [
        8969,
        8977
      ],
      "op": "DUP2",
      "path": "26"
    },
    "10296": {
      "offset": [
        8969,
        8996
      ],
      "op": "LT",
      "path": "26"
    },
    "10297": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8969,
        8996
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "10298": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2878"
    },
    "10301": {
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "10302": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "10304": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10305": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "10306": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "10310": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "10312": {
      "op": "SHL"
    },
    "10313": {
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "10314": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "10315": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "10317": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "10319": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "10320": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "10321": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "10322": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x18"
    },
    "10324": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "10326": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "10327": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "10328": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "10329": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "10331": {
      "op": "DUP1"
    },
    "10332": {
      "op": "MLOAD"
    },
    "10333": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "10335": {
      "op": "PUSH2",
      "value": "0x45B6"
    },
    "10338": {
      "op": "DUP4"
    },
    "10339": {
      "op": "CODECOPY"
    },
    "10340": {
      "op": "DUP2"
    },
    "10341": {
      "op": "MLOAD"
    },
    "10342": {
      "op": "SWAP2"
    },
    "10343": {
      "op": "MSTORE"
    },
    "10344": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "10346": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "10347": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "10348": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "10349": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10350": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "10351": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10352": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "10353": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10354": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "SUB",
      "path": "26"
    },
    "10355": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "10357": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "10358": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10359": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "REVERT",
      "path": "26"
    },
    "10360": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10361": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11014,
        11141
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 60,
      "value": "0x2886"
    },
    "10364": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11035,
        11041
      ],
      "op": "DUP13",
      "path": "26"
    },
    "10365": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11049,
        11055
      ],
      "op": "DUP13",
      "path": "26"
    },
    "10366": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11063,
        11077
      ],
      "op": "DUP13",
      "path": "26"
    },
    "10367": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11085,
        11099
      ],
      "op": "DUP13",
      "path": "26"
    },
    "10368": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11107,
        11117
      ],
      "op": "DUP13",
      "path": "26"
    },
    "10369": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11125,
        11135
      ],
      "op": "DUP13",
      "path": "26"
    },
    "10370": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11014,
        11027
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3EB0"
    },
    "10373": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "jump": "i",
      "offset": [
        11014,
        11141
      ],
      "op": "JUMP",
      "path": "26"
    },
    "10374": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11014,
        11141
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10375": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10993,
        11141
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10376": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10993,
        11141
      ],
      "op": "SWAP5",
      "path": "26"
    },
    "10377": {
      "op": "POP"
    },
    "10378": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10993,
        11141
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "10379": {
      "op": "POP"
    },
    "10380": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11147,
        11159
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "10382": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11162,
        11232
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x28B8"
    },
    "10385": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11208,
        11215
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "10418": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11217,
        11223
      ],
      "op": "DUP15",
      "path": "26"
    },
    "10419": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11225,
        11231
      ],
      "op": "DUP15",
      "path": "26"
    },
    "10420": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11162,
        11207
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x33C8"
    },
    "10423": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "jump": "i",
      "offset": [
        11162,
        11232
      ],
      "op": "JUMP",
      "path": "26"
    },
    "10424": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11162,
        11232
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10425": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11147,
        11232
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10426": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11147,
        11232
      ],
      "op": "POP",
      "path": "26"
    },
    "10427": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11238,
        11325
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 61,
      "value": "0x28C6"
    },
    "10430": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11291,
        11297
      ],
      "op": "DUP14",
      "path": "26"
    },
    "10431": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11299,
        11309
      ],
      "op": "CALLER",
      "path": "26"
    },
    "10432": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11311,
        11315
      ],
      "op": "DUP4",
      "path": "26"
    },
    "10433": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11317,
        11324
      ],
      "op": "DUP9",
      "path": "26"
    },
    "10434": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11238,
        11290
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x345C"
    },
    "10437": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "jump": "i",
      "offset": [
        11238,
        11325
      ],
      "op": "JUMP",
      "path": "26"
    },
    "10438": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11238,
        11325
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10439": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11331,
        11418
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 62,
      "value": "0x28D2"
    },
    "10442": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11384,
        11390
      ],
      "op": "DUP13",
      "path": "26"
    },
    "10443": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11392,
        11402
      ],
      "op": "CALLER",
      "path": "26"
    },
    "10444": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11404,
        11408
      ],
      "op": "DUP4",
      "path": "26"
    },
    "10445": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11410,
        11417
      ],
      "op": "DUP8",
      "path": "26"
    },
    "10446": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11331,
        11383
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x345C"
    },
    "10449": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "jump": "i",
      "offset": [
        11331,
        11418
      ],
      "op": "JUMP",
      "path": "26"
    },
    "10450": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11331,
        11418
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10451": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11472,
        11476
      ],
      "op": "DUP1",
      "path": "26",
      "statement": 63
    },
    "10452": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "10454": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "10456": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "10458": {
      "op": "SHL"
    },
    "10459": {
      "op": "SUB"
    },
    "10460": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11482
      ],
      "op": "AND",
      "path": "26"
    },
    "10461": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11482
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x6A627842"
    },
    "10466": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11483,
        11485
      ],
      "op": "DUP9",
      "path": "26"
    },
    "10467": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "10469": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "10470": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "DUP3",
      "path": "26"
    },
    "10471": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "10476": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "AND",
      "path": "26"
    },
    "10477": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "10479": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "SHL",
      "path": "26"
    },
    "10480": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "DUP2",
      "path": "26"
    },
    "10481": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "10482": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "10484": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "ADD",
      "path": "26"
    },
    "10485": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10486": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "DUP3",
      "path": "26"
    },
    "10487": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "10489": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "10491": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "10493": {
      "op": "SHL"
    },
    "10494": {
      "op": "SUB"
    },
    "10495": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "AND",
      "path": "26"
    },
    "10496": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "DUP2",
      "path": "26"
    },
    "10497": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "10498": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "10500": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "ADD",
      "path": "26"
    },
    "10501": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "10502": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "POP",
      "path": "26"
    },
    "10503": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "POP",
      "path": "26"
    },
    "10504": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "10506": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "10508": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "10509": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10510": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "DUP4",
      "path": "26"
    },
    "10511": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "SUB",
      "path": "26"
    },
    "10512": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "DUP2",
      "path": "26"
    },
    "10513": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "10515": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "DUP8",
      "path": "26"
    },
    "10516": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10517": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "10518": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "10519": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10520": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "10521": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2921"
    },
    "10524": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "10525": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "10527": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10528": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "REVERT",
      "path": "26"
    },
    "10529": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10530": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "POP",
      "path": "26"
    },
    "10531": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "GAS",
      "path": "26"
    },
    "10532": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "CALL",
      "path": "26"
    },
    "10533": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "10534": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10535": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "10536": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2935"
    },
    "10539": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "10540": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "10541": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "10543": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10544": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "10545": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "10546": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "10548": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "REVERT",
      "path": "26"
    },
    "10549": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10550": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "POP",
      "path": "26"
    },
    "10551": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "POP",
      "path": "26"
    },
    "10552": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "POP",
      "path": "26"
    },
    "10553": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "POP",
      "path": "26"
    },
    "10554": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "10556": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "10557": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "10558": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "10560": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "DUP2",
      "path": "26"
    },
    "10561": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "LT",
      "path": "26"
    },
    "10562": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "10563": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x294B"
    },
    "10566": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "10567": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "10569": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10570": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "REVERT",
      "path": "26"
    },
    "10571": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10572": {
      "op": "POP"
    },
    "10573": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "10574": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SWAP5",
      "path": "26"
    },
    "10575": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SWAP14",
      "path": "26"
    },
    "10576": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "10577": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SWAP13",
      "path": "26"
    },
    "10578": {
      "op": "POP"
    },
    "10579": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "10580": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        11436,
        11486
      ],
      "op": "SWAP11",
      "path": "26"
    },
    "10581": {
      "op": "POP"
    },
    "10582": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "10583": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "offset": [
        10652,
        11491
      ],
      "op": "SWAP9",
      "path": "26"
    },
    "10584": {
      "op": "POP"
    },
    "10585": {
      "op": "POP"
    },
    "10586": {
      "op": "POP"
    },
    "10587": {
      "op": "POP"
    },
    "10588": {
      "op": "POP"
    },
    "10589": {
      "op": "POP"
    },
    "10590": {
      "op": "POP"
    },
    "10591": {
      "op": "POP"
    },
    "10592": {
      "op": "POP"
    },
    "10593": {
      "fn": "MockUniswapV2Router02.addLiquidity",
      "jump": "o",
      "offset": [
        10652,
        11491
      ],
      "op": "JUMP",
      "path": "26"
    },
    "10594": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10595": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11746,
        11762
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "10597": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11770,
        11784
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10598": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11792,
        11806
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "10600": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11716,
        11724
      ],
      "op": "DUP4",
      "path": "26"
    },
    "10601": {
      "offset": [
        8981,
        8996
      ],
      "op": "TIMESTAMP",
      "path": "26"
    },
    "10602": {
      "offset": [
        8969,
        8977
      ],
      "op": "DUP2",
      "path": "26"
    },
    "10603": {
      "offset": [
        8969,
        8996
      ],
      "op": "LT",
      "path": "26"
    },
    "10604": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8969,
        8996
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "10605": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x29AB"
    },
    "10608": {
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "10609": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "10611": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10612": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "10613": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "10617": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "10619": {
      "op": "SHL"
    },
    "10620": {
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "10621": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "10622": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "10624": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "10626": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "10627": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "10628": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "10629": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x18"
    },
    "10631": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "10633": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "10634": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "10635": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "10636": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "10638": {
      "op": "DUP1"
    },
    "10639": {
      "op": "MLOAD"
    },
    "10640": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "10642": {
      "op": "PUSH2",
      "value": "0x45B6"
    },
    "10645": {
      "op": "DUP4"
    },
    "10646": {
      "op": "CODECOPY"
    },
    "10647": {
      "op": "DUP2"
    },
    "10648": {
      "op": "MLOAD"
    },
    "10649": {
      "op": "SWAP2"
    },
    "10650": {
      "op": "MSTORE"
    },
    "10651": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "10653": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "10654": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "10655": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "10656": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10657": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "10658": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10659": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "10660": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10661": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "SUB",
      "path": "26"
    },
    "10662": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "10664": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "10665": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10666": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "REVERT",
      "path": "26"
    },
    "10667": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10668": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11848,
        11977
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 64,
      "value": "0x29D9"
    },
    "10671": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11869,
        11874
      ],
      "op": "DUP11",
      "path": "26"
    },
    "10672": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11882,
        11886
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "10705": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11894,
        11912
      ],
      "op": "DUP12",
      "path": "26"
    },
    "10706": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11920,
        11929
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "10707": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11937,
        11951
      ],
      "op": "DUP13",
      "path": "26"
    },
    "10708": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11959,
        11971
      ],
      "op": "DUP13",
      "path": "26"
    },
    "10709": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11848,
        11861
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3EB0"
    },
    "10712": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "jump": "i",
      "offset": [
        11848,
        11977
      ],
      "op": "JUMP",
      "path": "26"
    },
    "10713": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11848,
        11977
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10714": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11821,
        11977
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10715": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11821,
        11977
      ],
      "op": "SWAP5",
      "path": "26"
    },
    "10716": {
      "op": "POP"
    },
    "10717": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11821,
        11977
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "10718": {
      "op": "POP"
    },
    "10719": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11983,
        11995
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "10721": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11998,
        12065
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2A2B"
    },
    "10724": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12044,
        12051
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "10757": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12053,
        12058
      ],
      "op": "DUP13",
      "path": "26"
    },
    "10758": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12060,
        12064
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "10791": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11998,
        12043
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x33C8"
    },
    "10794": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "jump": "i",
      "offset": [
        11998,
        12065
      ],
      "op": "JUMP",
      "path": "26"
    },
    "10795": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11998,
        12065
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10796": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11983,
        12065
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "10797": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11983,
        12065
      ],
      "op": "POP",
      "path": "26"
    },
    "10798": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12071,
        12161
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 65,
      "value": "0x2A39"
    },
    "10801": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12124,
        12129
      ],
      "op": "DUP12",
      "path": "26"
    },
    "10802": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12131,
        12141
      ],
      "op": "CALLER",
      "path": "26"
    },
    "10803": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12143,
        12147
      ],
      "op": "DUP4",
      "path": "26"
    },
    "10804": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12149,
        12160
      ],
      "op": "DUP9",
      "path": "26"
    },
    "10805": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12071,
        12123
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x345C"
    },
    "10808": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "jump": "i",
      "offset": [
        12071,
        12161
      ],
      "op": "JUMP",
      "path": "26"
    },
    "10809": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12071,
        12161
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10810": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12194,
        12198
      ],
      "op": "PUSH32",
      "path": "26",
      "statement": 66,
      "value": "0x0"
    },
    "10843": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "10845": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "10847": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "10849": {
      "op": "SHL"
    },
    "10850": {
      "op": "SUB"
    },
    "10851": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12207
      ],
      "op": "AND",
      "path": "26"
    },
    "10852": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12207
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xD0E30DB0"
    },
    "10857": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12215,
        12224
      ],
      "op": "DUP6",
      "path": "26"
    },
    "10858": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "10860": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "10861": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "DUP3",
      "path": "26"
    },
    "10862": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "10867": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "AND",
      "path": "26"
    },
    "10868": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "10870": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "SHL",
      "path": "26"
    },
    "10871": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "DUP2",
      "path": "26"
    },
    "10872": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "10873": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "10875": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "ADD",
      "path": "26"
    },
    "10876": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "10878": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "10880": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "10881": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10882": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "DUP4",
      "path": "26"
    },
    "10883": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "SUB",
      "path": "26"
    },
    "10884": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "DUP2",
      "path": "26"
    },
    "10885": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "DUP6",
      "path": "26"
    },
    "10886": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "DUP9",
      "path": "26"
    },
    "10887": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10888": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "10889": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "10890": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10891": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "10892": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2A94"
    },
    "10895": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "10896": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "10898": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10899": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "REVERT",
      "path": "26"
    },
    "10900": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10901": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "POP",
      "path": "26"
    },
    "10902": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "GAS",
      "path": "26"
    },
    "10903": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "CALL",
      "path": "26"
    },
    "10904": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "10905": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10906": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "10907": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2AA8"
    },
    "10910": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "10911": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "10912": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "10914": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10915": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "10916": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "10917": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "10919": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "REVERT",
      "path": "26"
    },
    "10920": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "10921": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "POP",
      "path": "26"
    },
    "10922": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "POP",
      "path": "26"
    },
    "10923": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "POP",
      "path": "26"
    },
    "10924": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "POP",
      "path": "26"
    },
    "10925": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12167,
        12227
      ],
      "op": "POP",
      "path": "26"
    },
    "10926": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12267,
        12271
      ],
      "op": "PUSH32",
      "path": "26",
      "statement": 67,
      "value": "0x0"
    },
    "10959": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "10961": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "10963": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "10965": {
      "op": "SHL"
    },
    "10966": {
      "op": "SUB"
    },
    "10967": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12281
      ],
      "op": "AND",
      "path": "26"
    },
    "10968": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12281
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xA9059CBB"
    },
    "10973": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12282,
        12286
      ],
      "op": "DUP3",
      "path": "26"
    },
    "10974": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12288,
        12297
      ],
      "op": "DUP7",
      "path": "26"
    },
    "10975": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "10977": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "10978": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "DUP4",
      "path": "26"
    },
    "10979": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "10984": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "AND",
      "path": "26"
    },
    "10985": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "10987": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "SHL",
      "path": "26"
    },
    "10988": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "DUP2",
      "path": "26"
    },
    "10989": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "10990": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "10992": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "ADD",
      "path": "26"
    },
    "10993": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "DUP1",
      "path": "26"
    },
    "10994": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "DUP4",
      "path": "26"
    },
    "10995": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "10997": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "10999": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "11001": {
      "op": "SHL"
    },
    "11002": {
      "op": "SUB"
    },
    "11003": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "AND",
      "path": "26"
    },
    "11004": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11005": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11006": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11008": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "ADD",
      "path": "26"
    },
    "11009": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "DUP3",
      "path": "26"
    },
    "11010": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11011": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11012": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11014": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "ADD",
      "path": "26"
    },
    "11015": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "11016": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "POP",
      "path": "26"
    },
    "11017": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "POP",
      "path": "26"
    },
    "11018": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "POP",
      "path": "26"
    },
    "11019": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11021": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "11023": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11024": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11025": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "DUP4",
      "path": "26"
    },
    "11026": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "SUB",
      "path": "26"
    },
    "11027": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11028": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11030": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "DUP8",
      "path": "26"
    },
    "11031": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11032": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "11033": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "11034": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11035": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "11036": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2B24"
    },
    "11039": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "11040": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11042": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11043": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "REVERT",
      "path": "26"
    },
    "11044": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11045": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "POP",
      "path": "26"
    },
    "11046": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "GAS",
      "path": "26"
    },
    "11047": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "CALL",
      "path": "26"
    },
    "11048": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "11049": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11050": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "11051": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2B38"
    },
    "11054": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "11055": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "11056": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11058": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11059": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "11060": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "11061": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11063": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "REVERT",
      "path": "26"
    },
    "11064": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11065": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "POP",
      "path": "26"
    },
    "11066": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "POP",
      "path": "26"
    },
    "11067": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "POP",
      "path": "26"
    },
    "11068": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "POP",
      "path": "26"
    },
    "11069": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "11071": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11072": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "11073": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11075": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11076": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "LT",
      "path": "26"
    },
    "11077": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "11078": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2B4E"
    },
    "11081": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "11082": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11084": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11085": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "REVERT",
      "path": "26"
    },
    "11086": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11087": {
      "op": "POP"
    },
    "11088": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12240,
        12298
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11089": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12233,
        12299
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2B56"
    },
    "11092": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12233,
        12299
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "11093": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12233,
        12299
      ],
      "op": "INVALID",
      "path": "26"
    },
    "11094": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12233,
        12299
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11095": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12353,
        12357
      ],
      "op": "DUP1",
      "path": "26",
      "statement": 68
    },
    "11096": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "11098": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "11100": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "11102": {
      "op": "SHL"
    },
    "11103": {
      "op": "SUB"
    },
    "11104": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12363
      ],
      "op": "AND",
      "path": "26"
    },
    "11105": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12363
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x6A627842"
    },
    "11110": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12364,
        12366
      ],
      "op": "DUP9",
      "path": "26"
    },
    "11111": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "11113": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11114": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "DUP3",
      "path": "26"
    },
    "11115": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "11120": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "AND",
      "path": "26"
    },
    "11121": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "11123": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "SHL",
      "path": "26"
    },
    "11124": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11125": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11126": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "11128": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "ADD",
      "path": "26"
    },
    "11129": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11130": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "DUP3",
      "path": "26"
    },
    "11131": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "11133": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "11135": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "11137": {
      "op": "SHL"
    },
    "11138": {
      "op": "SUB"
    },
    "11139": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "AND",
      "path": "26"
    },
    "11140": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11141": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11142": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11144": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "ADD",
      "path": "26"
    },
    "11145": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "11146": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "POP",
      "path": "26"
    },
    "11147": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "POP",
      "path": "26"
    },
    "11148": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11150": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "11152": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11153": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11154": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "DUP4",
      "path": "26"
    },
    "11155": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "SUB",
      "path": "26"
    },
    "11156": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11157": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11159": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "DUP8",
      "path": "26"
    },
    "11160": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11161": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "11162": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "11163": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11164": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "11165": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2BA5"
    },
    "11168": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "11169": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11171": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11172": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "REVERT",
      "path": "26"
    },
    "11173": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11174": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "POP",
      "path": "26"
    },
    "11175": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "GAS",
      "path": "26"
    },
    "11176": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "CALL",
      "path": "26"
    },
    "11177": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "11178": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11179": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "11180": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2BB9"
    },
    "11183": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "11184": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "11185": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11187": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11188": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "11189": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "11190": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11192": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "REVERT",
      "path": "26"
    },
    "11193": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11194": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "POP",
      "path": "26"
    },
    "11195": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "POP",
      "path": "26"
    },
    "11196": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "POP",
      "path": "26"
    },
    "11197": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "POP",
      "path": "26"
    },
    "11198": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "11200": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11201": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "11202": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11204": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11205": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "LT",
      "path": "26"
    },
    "11206": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "11207": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2BCF"
    },
    "11210": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "11211": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11213": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11214": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "REVERT",
      "path": "26"
    },
    "11215": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11216": {
      "op": "POP"
    },
    "11217": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11218": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12317,
        12367
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "11219": {
      "op": "POP"
    },
    "11220": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12408,
        12417
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "11221": {
      "branch": 138,
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12408,
        12429
      ],
      "op": "DUP5",
      "path": "26"
    },
    "11222": {
      "op": "LT"
    },
    "11223": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12404,
        12523
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "11224": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12404,
        12523
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2BE7"
    },
    "11227": {
      "branch": 138,
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12404,
        12523
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "11228": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12437,
        12523
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 69,
      "value": "0x2BE7"
    },
    "11231": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12489,
        12499
      ],
      "op": "CALLER",
      "path": "26"
    },
    "11232": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12513,
        12522
      ],
      "op": "DUP6",
      "path": "26"
    },
    "11233": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12501,
        12510
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "11234": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12501,
        12522
      ],
      "op": "SUB",
      "path": "26"
    },
    "11235": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12437,
        12488
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x30C2"
    },
    "11238": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "jump": "i",
      "offset": [
        12437,
        12523
      ],
      "op": "JUMP",
      "path": "26"
    },
    "11239": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        12437,
        12523
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11240": {
      "offset": [
        9031,
        9032
      ],
      "op": "POP",
      "path": "26"
    },
    "11241": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "POP",
      "path": "26"
    },
    "11242": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "SWAP7",
      "path": "26"
    },
    "11243": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "POP",
      "path": "26"
    },
    "11244": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "SWAP7",
      "path": "26"
    },
    "11245": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "POP",
      "path": "26"
    },
    "11246": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "SWAP7",
      "path": "26"
    },
    "11247": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "11248": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "POP",
      "path": "26"
    },
    "11249": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "POP",
      "path": "26"
    },
    "11250": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "POP",
      "path": "26"
    },
    "11251": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "offset": [
        11495,
        12528
      ],
      "op": "POP",
      "path": "26"
    },
    "11252": {
      "fn": "MockUniswapV2Router02.addLiquidityETH",
      "jump": "o",
      "offset": [
        11495,
        12528
      ],
      "op": "JUMP",
      "path": "26"
    },
    "11253": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        21895,
        22770
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11254": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22074,
        22095
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "11256": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22055,
        22063
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11257": {
      "offset": [
        8981,
        8996
      ],
      "op": "TIMESTAMP",
      "path": "26"
    },
    "11258": {
      "offset": [
        8969,
        8977
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11259": {
      "offset": [
        8969,
        8996
      ],
      "op": "LT",
      "path": "26"
    },
    "11260": {
      "branch": 139,
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8969,
        8996
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "11261": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2C3B"
    },
    "11264": {
      "branch": 139,
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "11265": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "11267": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11268": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11269": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "11273": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "11275": {
      "op": "SHL"
    },
    "11276": {
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11277": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11278": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11280": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "11282": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "11283": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "11284": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11285": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x18"
    },
    "11287": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "11289": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "11290": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "11291": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11292": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "11294": {
      "op": "DUP1"
    },
    "11295": {
      "op": "MLOAD"
    },
    "11296": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "11298": {
      "op": "PUSH2",
      "value": "0x45B6"
    },
    "11301": {
      "op": "DUP4"
    },
    "11302": {
      "op": "CODECOPY"
    },
    "11303": {
      "op": "DUP2"
    },
    "11304": {
      "op": "MLOAD"
    },
    "11305": {
      "op": "SWAP2"
    },
    "11306": {
      "op": "MSTORE"
    },
    "11307": {
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "11309": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP3",
      "path": "26"
    },
    "11310": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "11311": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11312": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "11313": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11314": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "11315": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11316": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "11317": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SUB",
      "path": "26"
    },
    "11318": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "11320": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "ADD",
      "path": "26"
    },
    "11321": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "11322": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "REVERT",
      "path": "26"
    },
    "11323": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        8961,
        9025
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11324": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22122,
        22126
      ],
      "op": "PUSH32",
      "path": "26",
      "statement": 70,
      "value": "0x0"
    },
    "11357": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "11359": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "11361": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "11363": {
      "op": "SHL"
    },
    "11364": {
      "op": "SUB"
    },
    "11365": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22111,
        22126
      ],
      "op": "AND",
      "path": "26"
    },
    "11366": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22111,
        22115
      ],
      "op": "DUP7",
      "path": "26"
    },
    "11367": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22111,
        22115
      ],
      "op": "DUP7",
      "path": "26"
    },
    "11368": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22116,
        22117
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11370": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22111,
        22118
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11371": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22111,
        22118
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11372": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22111,
        22118
      ],
      "op": "LT",
      "path": "26"
    },
    "11373": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22111,
        22118
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2C72"
    },
    "11376": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22111,
        22118
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "11377": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22111,
        22118
      ],
      "op": "INVALID",
      "path": "26"
    },
    "11378": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22111,
        22118
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11379": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22111,
        22118
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "11380": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22111,
        22118
      ],
      "op": "POP",
      "path": "26"
    },
    "11381": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22111,
        22118
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11383": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22111,
        22118
      ],
      "op": "MUL",
      "path": "26"
    },
    "11384": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22111,
        22118
      ],
      "op": "ADD",
      "path": "26"
    },
    "11385": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22111,
        22118
      ],
      "op": "CALLDATALOAD",
      "path": "26"
    },
    "11386": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "11388": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "11390": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "11392": {
      "op": "SHL"
    },
    "11393": {
      "op": "SUB"
    },
    "11394": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22111,
        22118
      ],
      "op": "AND",
      "path": "26"
    },
    "11395": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "11397": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "11399": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "11401": {
      "op": "SHL"
    },
    "11402": {
      "op": "SUB"
    },
    "11403": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22111,
        22126
      ],
      "op": "AND",
      "path": "26"
    },
    "11404": {
      "branch": 140,
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22111,
        22126
      ],
      "op": "EQ",
      "path": "26"
    },
    "11405": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2CCB"
    },
    "11408": {
      "branch": 140,
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "11409": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "11411": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11412": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11413": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "11417": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "11419": {
      "op": "SHL"
    },
    "11420": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11421": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11422": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11424": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "11426": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "DUP3",
      "path": "26"
    },
    "11427": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "ADD",
      "path": "26"
    },
    "11428": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11429": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1D"
    },
    "11431": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "11433": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "DUP3",
      "path": "26"
    },
    "11434": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "ADD",
      "path": "26"
    },
    "11435": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11436": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "11438": {
      "op": "DUP1"
    },
    "11439": {
      "op": "MLOAD"
    },
    "11440": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "11442": {
      "op": "PUSH2",
      "value": "0x4464"
    },
    "11445": {
      "op": "DUP4"
    },
    "11446": {
      "op": "CODECOPY"
    },
    "11447": {
      "op": "DUP2"
    },
    "11448": {
      "op": "MLOAD"
    },
    "11449": {
      "op": "SWAP2"
    },
    "11450": {
      "op": "MSTORE"
    },
    "11451": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "11453": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "DUP3",
      "path": "26"
    },
    "11454": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "ADD",
      "path": "26"
    },
    "11455": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11456": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "11457": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11458": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "11459": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11460": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "11461": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "SUB",
      "path": "26"
    },
    "11462": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "11464": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "ADD",
      "path": "26"
    },
    "11465": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "11466": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "REVERT",
      "path": "26"
    },
    "11467": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22103,
        22160
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11468": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 71,
      "value": "0x2D29"
    },
    "11471": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22227,
        22234
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "11504": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22236,
        22245
      ],
      "op": "DUP9",
      "path": "26"
    },
    "11505": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22247,
        22251
      ],
      "op": "DUP9",
      "path": "26"
    },
    "11506": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22247,
        22251
      ],
      "op": "DUP9",
      "path": "26"
    },
    "11507": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11508": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11509": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11511": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "MUL",
      "path": "26"
    },
    "11512": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11514": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "ADD",
      "path": "26"
    },
    "11515": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "11517": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11518": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "11519": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11520": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "ADD",
      "path": "26"
    },
    "11521": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "11523": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11524": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11525": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "11526": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "11527": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "11528": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "11529": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11530": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11531": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11532": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11534": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "ADD",
      "path": "26"
    },
    "11535": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "DUP4",
      "path": "26"
    },
    "11536": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "DUP4",
      "path": "26"
    },
    "11537": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11539": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "MUL",
      "path": "26"
    },
    "11540": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11541": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "DUP3",
      "path": "26"
    },
    "11542": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "DUP5",
      "path": "26"
    },
    "11543": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "CALLDATACOPY",
      "path": "26"
    },
    "11544": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11546": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "11547": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "ADD",
      "path": "26"
    },
    "11548": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "11549": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "11550": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "11551": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11552": {
      "op": "POP"
    },
    "11553": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22226
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x37F6"
    },
    "11556": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22226
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "11557": {
      "op": "POP"
    },
    "11558": {
      "op": "POP"
    },
    "11559": {
      "op": "POP"
    },
    "11560": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "jump": "i",
      "offset": [
        22176,
        22252
      ],
      "op": "JUMP",
      "path": "26"
    },
    "11561": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22176,
        22252
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11562": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22166,
        22252
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "11563": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22166,
        22252
      ],
      "op": "POP",
      "path": "26"
    },
    "11564": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22280,
        22289
      ],
      "op": "CALLVALUE",
      "path": "26",
      "statement": 72
    },
    "11565": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22266,
        22273
      ],
      "op": "DUP3",
      "path": "26"
    },
    "11566": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22274,
        22275
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11568": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22266,
        22276
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11569": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22266,
        22276
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11570": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22266,
        22276
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11571": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22266,
        22276
      ],
      "op": "LT",
      "path": "26"
    },
    "11572": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22266,
        22276
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2D39"
    },
    "11575": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22266,
        22276
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "11576": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22266,
        22276
      ],
      "op": "INVALID",
      "path": "26"
    },
    "11577": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22266,
        22276
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11578": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22266,
        22276
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11580": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22266,
        22276
      ],
      "op": "MUL",
      "path": "26"
    },
    "11581": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22266,
        22276
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11583": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22266,
        22276
      ],
      "op": "ADD",
      "path": "26"
    },
    "11584": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22266,
        22276
      ],
      "op": "ADD",
      "path": "26"
    },
    "11585": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22266,
        22276
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11586": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22266,
        22289
      ],
      "op": "GT",
      "path": "26"
    },
    "11587": {
      "branch": 141,
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22266,
        22289
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "11588": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2D7E"
    },
    "11591": {
      "branch": 141,
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "11592": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "11594": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11595": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "11599": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "11601": {
      "op": "SHL"
    },
    "11602": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11603": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11604": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "11606": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "ADD",
      "path": "26"
    },
    "11607": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11608": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11609": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11611": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "ADD",
      "path": "26"
    },
    "11612": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "DUP3",
      "path": "26"
    },
    "11613": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11614": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "SUB",
      "path": "26"
    },
    "11615": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "DUP3",
      "path": "26"
    },
    "11616": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11617": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x27"
    },
    "11619": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11620": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11621": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11623": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "ADD",
      "path": "26"
    },
    "11624": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11625": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x443D"
    },
    "11628": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x27"
    },
    "11630": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "11631": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "11632": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "11634": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "ADD",
      "path": "26"
    },
    "11635": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "11636": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "POP",
      "path": "26"
    },
    "11637": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "POP",
      "path": "26"
    },
    "11638": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "11640": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11641": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11642": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "11643": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "SUB",
      "path": "26"
    },
    "11644": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "11645": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "REVERT",
      "path": "26"
    },
    "11646": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22258,
        22333
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11647": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22366,
        22370
      ],
      "op": "PUSH32",
      "path": "26",
      "statement": 73,
      "value": "0x0"
    },
    "11680": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "11682": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "11684": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "11686": {
      "op": "SHL"
    },
    "11687": {
      "op": "SUB"
    },
    "11688": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22379
      ],
      "op": "AND",
      "path": "26"
    },
    "11689": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22379
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xD0E30DB0"
    },
    "11694": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22387,
        22394
      ],
      "op": "DUP4",
      "path": "26"
    },
    "11695": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22395,
        22396
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11697": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22387,
        22397
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11698": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22387,
        22397
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11699": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22387,
        22397
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11700": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22387,
        22397
      ],
      "op": "LT",
      "path": "26"
    },
    "11701": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22387,
        22397
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2DBA"
    },
    "11704": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22387,
        22397
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "11705": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22387,
        22397
      ],
      "op": "INVALID",
      "path": "26"
    },
    "11706": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22387,
        22397
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11707": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22387,
        22397
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11709": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22387,
        22397
      ],
      "op": "MUL",
      "path": "26"
    },
    "11710": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22387,
        22397
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11712": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22387,
        22397
      ],
      "op": "ADD",
      "path": "26"
    },
    "11713": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22387,
        22397
      ],
      "op": "ADD",
      "path": "26"
    },
    "11714": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22387,
        22397
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11715": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "11717": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11718": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "DUP3",
      "path": "26"
    },
    "11719": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "11724": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "AND",
      "path": "26"
    },
    "11725": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "11727": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "SHL",
      "path": "26"
    },
    "11728": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11729": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11730": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "11732": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "ADD",
      "path": "26"
    },
    "11733": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11735": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "11737": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11738": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11739": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "DUP4",
      "path": "26"
    },
    "11740": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "SUB",
      "path": "26"
    },
    "11741": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11742": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "DUP6",
      "path": "26"
    },
    "11743": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "DUP9",
      "path": "26"
    },
    "11744": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11745": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "11746": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "11747": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11748": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "11749": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2DED"
    },
    "11752": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "11753": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11755": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11756": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "REVERT",
      "path": "26"
    },
    "11757": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11758": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "POP",
      "path": "26"
    },
    "11759": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "GAS",
      "path": "26"
    },
    "11760": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "CALL",
      "path": "26"
    },
    "11761": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "11762": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11763": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "11764": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2E01"
    },
    "11767": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "11768": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "11769": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11771": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11772": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "11773": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "11774": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11776": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "REVERT",
      "path": "26"
    },
    "11777": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11778": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "POP",
      "path": "26"
    },
    "11779": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "POP",
      "path": "26"
    },
    "11780": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "POP",
      "path": "26"
    },
    "11781": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "POP",
      "path": "26"
    },
    "11782": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22339,
        22400
      ],
      "op": "POP",
      "path": "26"
    },
    "11783": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22447,
        22451
      ],
      "op": "PUSH32",
      "path": "26",
      "statement": 74,
      "value": "0x0"
    },
    "11816": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "11818": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "11820": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "11822": {
      "op": "SHL"
    },
    "11823": {
      "op": "SUB"
    },
    "11824": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22461
      ],
      "op": "AND",
      "path": "26"
    },
    "11825": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22461
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xA9059CBB"
    },
    "11830": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22471,
        22543
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2E66"
    },
    "11833": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22517,
        22524
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "11866": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22526,
        22530
      ],
      "op": "DUP10",
      "path": "26"
    },
    "11867": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22526,
        22530
      ],
      "op": "DUP10",
      "path": "26"
    },
    "11868": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22531,
        22532
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11870": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22526,
        22533
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11871": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22526,
        22533
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11872": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22526,
        22533
      ],
      "op": "LT",
      "path": "26"
    },
    "11873": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22526,
        22533
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x169E"
    },
    "11876": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22526,
        22533
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "11877": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22526,
        22533
      ],
      "op": "INVALID",
      "path": "26"
    },
    "11878": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22471,
        22543
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11879": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22553,
        22560
      ],
      "op": "DUP5",
      "path": "26"
    },
    "11880": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22561,
        22562
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11882": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22553,
        22563
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11883": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22553,
        22563
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11884": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22553,
        22563
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11885": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22553,
        22563
      ],
      "op": "LT",
      "path": "26"
    },
    "11886": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22553,
        22563
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2E73"
    },
    "11889": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22553,
        22563
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "11890": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22553,
        22563
      ],
      "op": "INVALID",
      "path": "26"
    },
    "11891": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22553,
        22563
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11892": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22553,
        22563
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11894": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22553,
        22563
      ],
      "op": "MUL",
      "path": "26"
    },
    "11895": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22553,
        22563
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11897": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22553,
        22563
      ],
      "op": "ADD",
      "path": "26"
    },
    "11898": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22553,
        22563
      ],
      "op": "ADD",
      "path": "26"
    },
    "11899": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22553,
        22563
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11900": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "11902": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11903": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "DUP4",
      "path": "26"
    },
    "11904": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "11909": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "AND",
      "path": "26"
    },
    "11910": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "11912": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "SHL",
      "path": "26"
    },
    "11913": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11914": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11915": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "11917": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "ADD",
      "path": "26"
    },
    "11918": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11919": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "DUP4",
      "path": "26"
    },
    "11920": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "11922": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "11924": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "11926": {
      "op": "SHL"
    },
    "11927": {
      "op": "SUB"
    },
    "11928": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "AND",
      "path": "26"
    },
    "11929": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11930": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11931": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11933": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "ADD",
      "path": "26"
    },
    "11934": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "DUP3",
      "path": "26"
    },
    "11935": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11936": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "11937": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11939": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "ADD",
      "path": "26"
    },
    "11940": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "11941": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "POP",
      "path": "26"
    },
    "11942": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "POP",
      "path": "26"
    },
    "11943": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "POP",
      "path": "26"
    },
    "11944": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "11946": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "11948": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11949": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11950": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "DUP4",
      "path": "26"
    },
    "11951": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "SUB",
      "path": "26"
    },
    "11952": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "DUP2",
      "path": "26"
    },
    "11953": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11955": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "DUP8",
      "path": "26"
    },
    "11956": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11957": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "11958": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "11959": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11960": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "11961": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2EC1"
    },
    "11964": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "11965": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11967": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11968": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "REVERT",
      "path": "26"
    },
    "11969": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11970": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "POP",
      "path": "26"
    },
    "11971": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "GAS",
      "path": "26"
    },
    "11972": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "CALL",
      "path": "26"
    },
    "11973": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "11974": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11975": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "11976": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2ED5"
    },
    "11979": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "11980": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "11981": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11983": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "DUP1",
      "path": "26"
    },
    "11984": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "11985": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "11986": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "11988": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "REVERT",
      "path": "26"
    },
    "11989": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "11990": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "POP",
      "path": "26"
    },
    "11991": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "POP",
      "path": "26"
    },
    "11992": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "POP",
      "path": "26"
    },
    "11993": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "POP",
      "path": "26"
    },
    "11994": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "11996": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "11997": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "11998": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12000": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12001": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "LT",
      "path": "26"
    },
    "12002": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "12003": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2EEB"
    },
    "12006": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "12007": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "12009": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12010": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "REVERT",
      "path": "26"
    },
    "12011": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12012": {
      "op": "POP"
    },
    "12013": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22420,
        22571
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12014": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22406,
        22577
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2EF3"
    },
    "12017": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22406,
        22577
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "12018": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22406,
        22577
      ],
      "op": "INVALID",
      "path": "26"
    },
    "12019": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22406,
        22577
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12020": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 75,
      "value": "0x2F32"
    },
    "12023": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22589,
        22596
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12024": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22598,
        22602
      ],
      "op": "DUP8",
      "path": "26"
    },
    "12025": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22598,
        22602
      ],
      "op": "DUP8",
      "path": "26"
    },
    "12026": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12027": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12028": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12030": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "MUL",
      "path": "26"
    },
    "12031": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12033": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "ADD",
      "path": "26"
    },
    "12034": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12036": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12037": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12038": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12039": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "ADD",
      "path": "26"
    },
    "12040": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12042": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12043": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12044": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "12045": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "12046": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12047": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12048": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12049": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12050": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12051": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12053": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "ADD",
      "path": "26"
    },
    "12054": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "DUP4",
      "path": "26"
    },
    "12055": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "DUP4",
      "path": "26"
    },
    "12056": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12058": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "MUL",
      "path": "26"
    },
    "12059": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12060": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12061": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "DUP5",
      "path": "26"
    },
    "12062": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "CALLDATACOPY",
      "path": "26"
    },
    "12063": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "12065": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "12066": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "ADD",
      "path": "26"
    },
    "12067": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12068": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12069": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12070": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12071": {
      "op": "POP"
    },
    "12072": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22604,
        22606
      ],
      "op": "DUP10",
      "path": "26"
    },
    "12073": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22604,
        22606
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "12074": {
      "op": "POP"
    },
    "12075": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22588
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x35B9"
    },
    "12078": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22588
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12079": {
      "op": "POP"
    },
    "12080": {
      "op": "POP"
    },
    "12081": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "jump": "i",
      "offset": [
        22583,
        22607
      ],
      "op": "JUMP",
      "path": "26"
    },
    "12082": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22583,
        22607
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12083": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22660,
        22667
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12084": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22668,
        22669
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "12086": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22660,
        22670
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12087": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22660,
        22670
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12088": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22660,
        22670
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12089": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22660,
        22670
      ],
      "op": "LT",
      "path": "26"
    },
    "12090": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22660,
        22670
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2F3F"
    },
    "12093": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22660,
        22670
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "12094": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22660,
        22670
      ],
      "op": "INVALID",
      "path": "26"
    },
    "12095": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22660,
        22670
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12096": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22660,
        22670
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12098": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22660,
        22670
      ],
      "op": "MUL",
      "path": "26"
    },
    "12099": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22660,
        22670
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12101": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22660,
        22670
      ],
      "op": "ADD",
      "path": "26"
    },
    "12102": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22660,
        22670
      ],
      "op": "ADD",
      "path": "26"
    },
    "12103": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22660,
        22670
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12104": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22648,
        22657
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "12105": {
      "branch": 142,
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22648,
        22670
      ],
      "op": "GT",
      "path": "26"
    },
    "12106": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22644,
        22765
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "12107": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22644,
        22765
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1E4E"
    },
    "12110": {
      "branch": 142,
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22644,
        22765
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "12111": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22678,
        22765
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 76,
      "value": "0x1E4E"
    },
    "12114": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22730,
        22740
      ],
      "op": "CALLER",
      "path": "26"
    },
    "12115": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22754,
        22761
      ],
      "op": "DUP4",
      "path": "26"
    },
    "12116": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22762,
        22763
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "12118": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22754,
        22764
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12119": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22754,
        22764
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12120": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22754,
        22764
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12121": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22754,
        22764
      ],
      "op": "LT",
      "path": "26"
    },
    "12122": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22754,
        22764
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2F5F"
    },
    "12125": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22754,
        22764
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "12126": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22754,
        22764
      ],
      "op": "INVALID",
      "path": "26"
    },
    "12127": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22754,
        22764
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12128": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22754,
        22764
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12130": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22754,
        22764
      ],
      "op": "MUL",
      "path": "26"
    },
    "12131": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22754,
        22764
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12133": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22754,
        22764
      ],
      "op": "ADD",
      "path": "26"
    },
    "12134": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22754,
        22764
      ],
      "op": "ADD",
      "path": "26"
    },
    "12135": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22754,
        22764
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12136": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22742,
        22751
      ],
      "op": "CALLVALUE",
      "path": "26"
    },
    "12137": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22742,
        22764
      ],
      "op": "SUB",
      "path": "26"
    },
    "12138": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "offset": [
        22678,
        22729
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x30C2"
    },
    "12141": {
      "fn": "MockUniswapV2Router02.swapETHForExactTokens",
      "jump": "i",
      "offset": [
        22678,
        22765
      ],
      "op": "JUMP",
      "path": "26"
    },
    "12142": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33267,
        33665
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12143": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12145": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12146": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12147": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "12149": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "12151": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "12153": {
      "op": "SHL"
    },
    "12154": {
      "op": "SUB"
    },
    "12155": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "DUP5",
      "path": "26"
    },
    "12156": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12157": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "AND",
      "path": "26"
    },
    "12158": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "12160": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "DUP4",
      "path": "26"
    },
    "12161": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "ADD",
      "path": "26"
    },
    "12162": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12163": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "12165": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12166": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "DUP4",
      "path": "26"
    },
    "12167": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "ADD",
      "path": "26"
    },
    "12168": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "DUP6",
      "path": "26"
    },
    "12169": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12170": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12171": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "DUP4",
      "path": "26"
    },
    "12172": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12173": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12174": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "DUP5",
      "path": "26"
    },
    "12175": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "SUB",
      "path": "26"
    },
    "12176": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12177": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12178": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "ADD",
      "path": "26"
    },
    "12179": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12180": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12181": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "12183": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12184": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "12185": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "ADD",
      "path": "26"
    },
    "12186": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "DUP4",
      "path": "26"
    },
    "12187": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12188": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12190": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12191": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "ADD",
      "path": "26"
    },
    "12192": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12193": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12194": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "12196": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "12198": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "12200": {
      "op": "SHL"
    },
    "12201": {
      "op": "SUB"
    },
    "12202": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "AND",
      "path": "26"
    },
    "12203": {
      "op": "PUSH4",
      "value": "0xA9059CBB"
    },
    "12208": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "12210": {
      "op": "SHL"
    },
    "12211": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "OR",
      "path": "26"
    },
    "12212": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12213": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12214": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "12215": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12216": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12217": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12218": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33422,
        33434
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "12220": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33422,
        33434
      ],
      "op": "SWAP5",
      "path": "26"
    },
    "12221": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33436,
        33453
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "12223": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33436,
        33453
      ],
      "op": "SWAP5",
      "path": "26"
    },
    "12224": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33467
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "12225": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33467
      ],
      "op": "DUP10",
      "path": "26"
    },
    "12226": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33467
      ],
      "op": "AND",
      "path": "26"
    },
    "12227": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33467
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "12228": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "12229": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12230": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12231": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12232": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12233": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12234": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP4",
      "path": "26"
    },
    "12235": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33468,
        33513
      ],
      "op": "DUP4",
      "path": "26"
    },
    "12236": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12237": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12239": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP4",
      "path": "26"
    },
    "12240": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "LT",
      "path": "26"
    },
    "12241": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2FEB"
    },
    "12244": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "12245": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12246": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12247": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12248": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12249": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "12251": {
      "op": "NOT"
    },
    "12252": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12253": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "12254": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "ADD",
      "path": "26"
    },
    "12255": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12256": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12258": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12259": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12260": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "ADD",
      "path": "26"
    },
    "12261": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12262": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "ADD",
      "path": "26"
    },
    "12263": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x2FCC"
    },
    "12266": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "JUMP",
      "path": "26"
    },
    "12267": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12268": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "12270": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP4",
      "path": "26"
    },
    "12271": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12273": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "SUB",
      "path": "26"
    },
    "12274": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x100"
    },
    "12277": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "EXP",
      "path": "26"
    },
    "12278": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "SUB",
      "path": "26"
    },
    "12279": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12280": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "NOT",
      "path": "26"
    },
    "12281": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12282": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12283": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "AND",
      "path": "26"
    },
    "12284": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12285": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP5",
      "path": "26"
    },
    "12286": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12287": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "AND",
      "path": "26"
    },
    "12288": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12289": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12290": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "OR",
      "path": "26"
    },
    "12291": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP6",
      "path": "26"
    },
    "12292": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12293": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "POP",
      "path": "26"
    },
    "12294": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "POP",
      "path": "26"
    },
    "12295": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "POP",
      "path": "26"
    },
    "12296": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "POP",
      "path": "26"
    },
    "12297": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "POP",
      "path": "26"
    },
    "12298": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "POP",
      "path": "26"
    },
    "12299": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12300": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "POP",
      "path": "26"
    },
    "12301": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "ADD",
      "path": "26"
    },
    "12302": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12303": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "POP",
      "path": "26"
    },
    "12304": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "POP",
      "path": "26"
    },
    "12305": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "12307": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12309": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12310": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12311": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP4",
      "path": "26"
    },
    "12312": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "SUB",
      "path": "26"
    },
    "12313": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12314": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "12316": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP7",
      "path": "26"
    },
    "12317": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "GAS",
      "path": "26"
    },
    "12318": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "CALL",
      "path": "26"
    },
    "12319": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12320": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "POP",
      "path": "26"
    },
    "12321": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "POP",
      "path": "26"
    },
    "12322": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "12323": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12324": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "12326": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12327": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "EQ",
      "path": "26"
    },
    "12328": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x304D"
    },
    "12331": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "12332": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12334": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12335": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12336": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "POP",
      "path": "26"
    },
    "12337": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1F"
    },
    "12339": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "NOT",
      "path": "26"
    },
    "12340": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x3F"
    },
    "12342": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "12343": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "ADD",
      "path": "26"
    },
    "12344": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "AND",
      "path": "26"
    },
    "12345": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12346": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "ADD",
      "path": "26"
    },
    "12347": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12349": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12350": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "12351": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12352": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12353": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "12354": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "12356": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12358": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "DUP5",
      "path": "26"
    },
    "12359": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "ADD",
      "path": "26"
    },
    "12360": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "12361": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3052"
    },
    "12364": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "JUMP",
      "path": "26"
    },
    "12365": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12366": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "12368": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12369": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "POP",
      "path": "26"
    },
    "12370": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12371": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33457,
        33514
      ],
      "op": "POP",
      "path": "26"
    },
    "12372": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33421,
        33514
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12373": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33421,
        33514
      ],
      "op": "POP",
      "path": "26"
    },
    "12374": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33421,
        33514
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12375": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33421,
        33514
      ],
      "op": "POP",
      "path": "26"
    },
    "12376": {
      "branch": 143,
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33535,
        33542
      ],
      "op": "DUP2",
      "path": "26",
      "statement": 77
    },
    "12377": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33535,
        33592
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12378": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33535,
        33592
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "12379": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33535,
        33592
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3080"
    },
    "12382": {
      "branch": 143,
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33535,
        33592
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "12383": {
      "op": "POP"
    },
    "12384": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33547,
        33558
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12385": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33547,
        33558
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12386": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33547,
        33563
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "12387": {
      "branch": 144,
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33547,
        33563
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12388": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33547,
        33591
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3080"
    },
    "12391": {
      "branch": 144,
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33547,
        33591
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "12392": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33547,
        33591
      ],
      "op": "POP",
      "path": "26"
    },
    "12393": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33578,
        33582
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12394": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33567,
        33591
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12395": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33567,
        33591
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12397": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33567,
        33591
      ],
      "op": "ADD",
      "path": "26"
    },
    "12398": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33567,
        33591
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12399": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33567,
        33591
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12400": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33567,
        33591
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12402": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33567,
        33591
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12403": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33567,
        33591
      ],
      "op": "LT",
      "path": "26"
    },
    "12404": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33567,
        33591
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "12405": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33567,
        33591
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x307D"
    },
    "12408": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33567,
        33591
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "12409": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33567,
        33591
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "12411": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33567,
        33591
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12412": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33567,
        33591
      ],
      "op": "REVERT",
      "path": "26"
    },
    "12413": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33567,
        33591
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12414": {
      "op": "POP"
    },
    "12415": {
      "branch": 145,
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33567,
        33591
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12416": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33547,
        33591
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12417": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x30BB"
    },
    "12420": {
      "branch": 145,
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "12421": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12423": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12424": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "12428": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "12430": {
      "op": "SHL"
    },
    "12431": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12432": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12433": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "12435": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "ADD",
      "path": "26"
    },
    "12436": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12437": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12438": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12440": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "ADD",
      "path": "26"
    },
    "12441": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12442": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12443": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "SUB",
      "path": "26"
    },
    "12444": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12445": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12446": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x34"
    },
    "12448": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12449": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12450": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12452": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "ADD",
      "path": "26"
    },
    "12453": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12454": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x42BB"
    },
    "12457": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x34"
    },
    "12459": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12460": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "12461": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12463": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "ADD",
      "path": "26"
    },
    "12464": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12465": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "POP",
      "path": "26"
    },
    "12466": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "POP",
      "path": "26"
    },
    "12467": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12469": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12470": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12471": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12472": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "SUB",
      "path": "26"
    },
    "12473": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12474": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "REVERT",
      "path": "26"
    },
    "12475": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33520,
        33660
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12476": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33267,
        33665
      ],
      "op": "POP",
      "path": "26"
    },
    "12477": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33267,
        33665
      ],
      "op": "POP",
      "path": "26"
    },
    "12478": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33267,
        33665
      ],
      "op": "POP",
      "path": "26"
    },
    "12479": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33267,
        33665
      ],
      "op": "POP",
      "path": "26"
    },
    "12480": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "offset": [
        33267,
        33665
      ],
      "op": "POP",
      "path": "26"
    },
    "12481": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransfer",
      "jump": "o",
      "offset": [
        33267,
        33665
      ],
      "op": "JUMP",
      "path": "26"
    },
    "12482": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34122,
        34327
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12483": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34227,
        34239
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12485": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34227,
        34239
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12486": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34227,
        34239
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12487": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34187,
        34199
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "12489": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34227,
        34239
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12490": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34227,
        34239
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12491": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34227,
        34239
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12492": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34227,
        34239
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12494": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34227,
        34239
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12495": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34227,
        34239
      ],
      "op": "ADD",
      "path": "26"
    },
    "12496": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34227,
        34239
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12497": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34227,
        34239
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "12498": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34227,
        34239
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12499": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "12501": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "12503": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "12505": {
      "op": "SHL"
    },
    "12506": {
      "op": "SUB"
    },
    "12507": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34212
      ],
      "op": "DUP5",
      "path": "26"
    },
    "12508": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34212
      ],
      "op": "AND",
      "path": "26"
    },
    "12509": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34212
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12510": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34220,
        34225
      ],
      "op": "DUP4",
      "path": "26"
    },
    "12511": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34220,
        34225
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12512": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12514": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12515": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12516": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12517": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12518": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12519": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12520": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12522": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "ADD",
      "path": "26"
    },
    "12523": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12524": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12525": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP4",
      "path": "26"
    },
    "12526": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP4",
      "path": "26"
    },
    "12527": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12528": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12530": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP4",
      "path": "26"
    },
    "12531": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "LT",
      "path": "26"
    },
    "12532": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x310E"
    },
    "12535": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "12536": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12537": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12538": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12539": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12540": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "12542": {
      "op": "NOT"
    },
    "12543": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12544": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "12545": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "ADD",
      "path": "26"
    },
    "12546": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12547": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12549": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12550": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12551": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "ADD",
      "path": "26"
    },
    "12552": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12553": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "ADD",
      "path": "26"
    },
    "12554": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x30EF"
    },
    "12557": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "JUMP",
      "path": "26"
    },
    "12558": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12559": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "12561": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP4",
      "path": "26"
    },
    "12562": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12564": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "SUB",
      "path": "26"
    },
    "12565": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x100"
    },
    "12568": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "EXP",
      "path": "26"
    },
    "12569": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "SUB",
      "path": "26"
    },
    "12570": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12571": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "NOT",
      "path": "26"
    },
    "12572": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12573": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12574": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "AND",
      "path": "26"
    },
    "12575": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12576": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP5",
      "path": "26"
    },
    "12577": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12578": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "AND",
      "path": "26"
    },
    "12579": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12580": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12581": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "OR",
      "path": "26"
    },
    "12582": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP6",
      "path": "26"
    },
    "12583": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12584": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "POP",
      "path": "26"
    },
    "12585": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "POP",
      "path": "26"
    },
    "12586": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "POP",
      "path": "26"
    },
    "12587": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "POP",
      "path": "26"
    },
    "12588": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "POP",
      "path": "26"
    },
    "12589": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "POP",
      "path": "26"
    },
    "12590": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12591": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "POP",
      "path": "26"
    },
    "12592": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "ADD",
      "path": "26"
    },
    "12593": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12594": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "POP",
      "path": "26"
    },
    "12595": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "POP",
      "path": "26"
    },
    "12596": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "12598": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12600": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12601": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12602": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP4",
      "path": "26"
    },
    "12603": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "SUB",
      "path": "26"
    },
    "12604": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12605": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP6",
      "path": "26"
    },
    "12606": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP8",
      "path": "26"
    },
    "12607": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "GAS",
      "path": "26"
    },
    "12608": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "CALL",
      "path": "26"
    },
    "12609": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "12610": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "POP",
      "path": "26"
    },
    "12611": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "POP",
      "path": "26"
    },
    "12612": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "POP",
      "path": "26"
    },
    "12613": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "12614": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12615": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "12617": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12618": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "EQ",
      "path": "26"
    },
    "12619": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3170"
    },
    "12622": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "12623": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12625": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12626": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12627": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "POP",
      "path": "26"
    },
    "12628": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1F"
    },
    "12630": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "NOT",
      "path": "26"
    },
    "12631": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x3F"
    },
    "12633": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "12634": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "ADD",
      "path": "26"
    },
    "12635": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "AND",
      "path": "26"
    },
    "12636": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12637": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "ADD",
      "path": "26"
    },
    "12638": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12640": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12641": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "12642": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12643": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12644": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "12645": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "12647": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12649": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "DUP5",
      "path": "26"
    },
    "12650": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "ADD",
      "path": "26"
    },
    "12651": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "12652": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3175"
    },
    "12655": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "JUMP",
      "path": "26"
    },
    "12656": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12657": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "12659": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12660": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "POP",
      "path": "26"
    },
    "12661": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12662": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34205,
        34240
      ],
      "op": "POP",
      "path": "26"
    },
    "12663": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34186,
        34240
      ],
      "op": "POP",
      "path": "26"
    },
    "12664": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34186,
        34240
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12665": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34186,
        34240
      ],
      "op": "POP",
      "path": "26"
    },
    "12666": {
      "branch": 146,
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34254,
        34261
      ],
      "op": "DUP1",
      "path": "26",
      "statement": 78
    },
    "12667": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x31B5"
    },
    "12670": {
      "branch": 146,
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "12671": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12673": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12674": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "12678": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "12680": {
      "op": "SHL"
    },
    "12681": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12682": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12683": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "12685": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "ADD",
      "path": "26"
    },
    "12686": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12687": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12688": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12690": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "ADD",
      "path": "26"
    },
    "12691": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12692": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12693": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "SUB",
      "path": "26"
    },
    "12694": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12695": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12696": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x38"
    },
    "12698": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12699": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12700": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12702": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "ADD",
      "path": "26"
    },
    "12703": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12704": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x432F"
    },
    "12707": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x38"
    },
    "12709": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12710": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "12711": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12713": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "ADD",
      "path": "26"
    },
    "12714": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12715": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "POP",
      "path": "26"
    },
    "12716": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "POP",
      "path": "26"
    },
    "12717": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12719": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12720": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12721": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12722": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "SUB",
      "path": "26"
    },
    "12723": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12724": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "REVERT",
      "path": "26"
    },
    "12725": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34246,
        34322
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12726": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34122,
        34327
      ],
      "op": "POP",
      "path": "26"
    },
    "12727": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34122,
        34327
      ],
      "op": "POP",
      "path": "26"
    },
    "12728": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "offset": [
        34122,
        34327
      ],
      "op": "POP",
      "path": "26"
    },
    "12729": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferETH",
      "jump": "o",
      "offset": [
        34122,
        34327
      ],
      "op": "JUMP",
      "path": "26"
    },
    "12730": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30329,
        30889
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12731": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30438,
        30452
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "12733": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30479,
        30480
      ],
      "op": "DUP1",
      "path": "26",
      "statement": 79
    },
    "12734": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30468,
        30476
      ],
      "op": "DUP5",
      "path": "26"
    },
    "12735": {
      "branch": 147,
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30468,
        30480
      ],
      "op": "GT",
      "path": "26"
    },
    "12736": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x31FA"
    },
    "12739": {
      "branch": 147,
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "12740": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12742": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12743": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "12747": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "12749": {
      "op": "SHL"
    },
    "12750": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12751": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12752": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "12754": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "ADD",
      "path": "26"
    },
    "12755": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12756": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12757": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12759": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "ADD",
      "path": "26"
    },
    "12760": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12761": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12762": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "SUB",
      "path": "26"
    },
    "12763": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12764": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12765": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12767": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12768": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12769": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12771": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "ADD",
      "path": "26"
    },
    "12772": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12773": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x42EF"
    },
    "12776": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12778": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12779": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "12780": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12782": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "ADD",
      "path": "26"
    },
    "12783": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12784": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "POP",
      "path": "26"
    },
    "12785": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "POP",
      "path": "26"
    },
    "12786": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12788": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12789": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12790": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12791": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "SUB",
      "path": "26"
    },
    "12792": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12793": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "REVERT",
      "path": "26"
    },
    "12794": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30460,
        30549
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12795": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30582,
        30583
      ],
      "op": "PUSH1",
      "path": "26",
      "statement": 80,
      "value": "0x0"
    },
    "12797": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30570,
        30579
      ],
      "op": "DUP4",
      "path": "26"
    },
    "12798": {
      "branch": 148,
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30570,
        30583
      ],
      "op": "GT",
      "path": "26"
    },
    "12799": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30570,
        30601
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12800": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30570,
        30601
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "12801": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30570,
        30601
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x320A"
    },
    "12804": {
      "branch": 148,
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30570,
        30601
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "12805": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30570,
        30601
      ],
      "op": "POP",
      "path": "26"
    },
    "12806": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30600,
        30601
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "12808": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30587,
        30597
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12809": {
      "branch": 149,
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30587,
        30601
      ],
      "op": "GT",
      "path": "26"
    },
    "12810": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30570,
        30601
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12811": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3245"
    },
    "12814": {
      "branch": 149,
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "12815": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12817": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12818": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "12822": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "12824": {
      "op": "SHL"
    },
    "12825": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12826": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12827": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "12829": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "ADD",
      "path": "26"
    },
    "12830": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12831": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12832": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12834": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "ADD",
      "path": "26"
    },
    "12835": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12836": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12837": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "SUB",
      "path": "26"
    },
    "12838": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12839": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12840": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x3D"
    },
    "12842": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12843": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12844": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12846": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "ADD",
      "path": "26"
    },
    "12847": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12848": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x43C7"
    },
    "12851": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x3D"
    },
    "12853": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12854": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "12855": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12857": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "ADD",
      "path": "26"
    },
    "12858": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12859": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "POP",
      "path": "26"
    },
    "12860": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "POP",
      "path": "26"
    },
    "12861": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12863": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12864": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12865": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12866": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "SUB",
      "path": "26"
    },
    "12867": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12868": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "REVERT",
      "path": "26"
    },
    "12869": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30555,
        30678
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12870": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30684,
        30704
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "12872": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30707,
        30724
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3253"
    },
    "12875": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30707,
        30715
      ],
      "op": "DUP6",
      "path": "26"
    },
    "12876": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30720,
        30723
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3E5"
    },
    "12879": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30707,
        30719
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4141"
    },
    "12882": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "jump": "i",
      "offset": [
        30707,
        30724
      ],
      "op": "JUMP",
      "path": "26"
    },
    "12883": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30707,
        30724
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12884": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30684,
        30724
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12885": {
      "op": "POP"
    },
    "12886": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30730,
        30744
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "12888": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30747,
        30778
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3261"
    },
    "12891": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30684,
        30724
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12892": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30767,
        30777
      ],
      "op": "DUP6",
      "path": "26"
    },
    "12893": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30747,
        30766
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4141"
    },
    "12896": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "jump": "i",
      "offset": [
        30747,
        30778
      ],
      "op": "JUMP",
      "path": "26"
    },
    "12897": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30747,
        30778
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12898": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30730,
        30778
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12899": {
      "op": "POP"
    },
    "12900": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30784,
        30800
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "12902": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30803,
        30843
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x327B"
    },
    "12905": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30827,
        30842
      ],
      "op": "DUP4",
      "path": "26"
    },
    "12906": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30803,
        30822
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3275"
    },
    "12909": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30803,
        30812
      ],
      "op": "DUP9",
      "path": "26"
    },
    "12910": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30817,
        30821
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3E8"
    },
    "12913": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30803,
        30816
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4141"
    },
    "12916": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "jump": "i",
      "offset": [
        30803,
        30822
      ],
      "op": "JUMP",
      "path": "26"
    },
    "12917": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30803,
        30822
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12918": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30803,
        30826
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12919": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30803,
        30826
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x41A4"
    },
    "12922": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "jump": "i",
      "offset": [
        30803,
        30843
      ],
      "op": "JUMP",
      "path": "26"
    },
    "12923": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30803,
        30843
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12924": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30784,
        30843
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "12925": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30784,
        30843
      ],
      "op": "POP",
      "path": "26"
    },
    "12926": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30873,
        30884
      ],
      "op": "DUP1",
      "path": "26",
      "statement": 81
    },
    "12927": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30861,
        30870
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12928": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30861,
        30884
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12929": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30861,
        30884
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3286"
    },
    "12932": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30861,
        30884
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "12933": {
      "dev": "Division by zero",
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30861,
        30884
      ],
      "op": "INVALID",
      "path": "26"
    },
    "12934": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30861,
        30884
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12935": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30861,
        30884
      ],
      "op": "DIV",
      "path": "26"
    },
    "12936": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30861,
        30884
      ],
      "op": "SWAP8",
      "path": "26"
    },
    "12937": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "offset": [
        30329,
        30889
      ],
      "op": "SWAP7",
      "path": "26"
    },
    "12938": {
      "op": "POP"
    },
    "12939": {
      "op": "POP"
    },
    "12940": {
      "op": "POP"
    },
    "12941": {
      "op": "POP"
    },
    "12942": {
      "op": "POP"
    },
    "12943": {
      "op": "POP"
    },
    "12944": {
      "op": "POP"
    },
    "12945": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountOut",
      "jump": "o",
      "offset": [
        30329,
        30889
      ],
      "op": "JUMP",
      "path": "26"
    },
    "12946": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31598,
        32104
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "12947": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31715,
        31736
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "12949": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31767,
        31768
      ],
      "op": "PUSH1",
      "path": "26",
      "statement": 82,
      "value": "0x2"
    },
    "12951": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31752,
        31756
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12952": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31752,
        31763
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12953": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31752,
        31768
      ],
      "op": "LT",
      "path": "26"
    },
    "12954": {
      "branch": 150,
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31752,
        31768
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "12955": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x32D5"
    },
    "12958": {
      "branch": 150,
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "12959": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "12961": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "12962": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "12966": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "12968": {
      "op": "SHL"
    },
    "12969": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12970": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12971": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "12973": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "ADD",
      "path": "26"
    },
    "12974": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12975": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12976": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12978": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "ADD",
      "path": "26"
    },
    "12979": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12980": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12981": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "SUB",
      "path": "26"
    },
    "12982": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "DUP3",
      "path": "26"
    },
    "12983": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12984": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x33"
    },
    "12986": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "DUP2",
      "path": "26"
    },
    "12987": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "12988": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "12990": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "ADD",
      "path": "26"
    },
    "12991": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "DUP1",
      "path": "26"
    },
    "12992": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4484"
    },
    "12995": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x33"
    },
    "12997": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "12998": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "12999": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "13001": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "ADD",
      "path": "26"
    },
    "13002": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13003": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "POP",
      "path": "26"
    },
    "13004": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "POP",
      "path": "26"
    },
    "13005": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "13007": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13008": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13009": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13010": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "SUB",
      "path": "26"
    },
    "13011": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "13012": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "REVERT",
      "path": "26"
    },
    "13013": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31744,
        31824
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13014": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31851,
        31855
      ],
      "op": "DUP2",
      "path": "26",
      "statement": 83
    },
    "13015": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31851,
        31862
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13016": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "PUSH8",
      "path": "26",
      "value": "0xFFFFFFFFFFFFFFFF"
    },
    "13025": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13026": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "GT",
      "path": "26"
    },
    "13027": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13028": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "13029": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x32ED"
    },
    "13032": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13033": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13035": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13036": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "REVERT",
      "path": "26"
    },
    "13037": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13038": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "POP",
      "path": "26"
    },
    "13039": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "13041": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13042": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "13043": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13044": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "DUP3",
      "path": "26"
    },
    "13045": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "13046": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13047": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13049": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "MUL",
      "path": "26"
    },
    "13050": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13052": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "ADD",
      "path": "26"
    },
    "13053": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "DUP3",
      "path": "26"
    },
    "13054": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "ADD",
      "path": "26"
    },
    "13055": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "13057": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "13058": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13059": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "13060": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3317"
    },
    "13063": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13064": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13065": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13067": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "ADD",
      "path": "26"
    },
    "13068": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13070": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "DUP3",
      "path": "26"
    },
    "13071": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "MUL",
      "path": "26"
    },
    "13072": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13073": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "13074": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13075": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "CALLDATACOPY",
      "path": "26"
    },
    "13076": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "ADD",
      "path": "26"
    },
    "13077": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "13078": {
      "op": "POP"
    },
    "13079": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13080": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31840,
        31863
      ],
      "op": "POP",
      "path": "26"
    },
    "13081": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31830,
        31863
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "13082": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31830,
        31863
      ],
      "op": "POP",
      "path": "26"
    },
    "13083": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31882,
        31890
      ],
      "op": "DUP3",
      "path": "26",
      "statement": 84
    },
    "13084": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31869,
        31876
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13085": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31877,
        31878
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13087": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31869,
        31879
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13088": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31869,
        31879
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13089": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31869,
        31879
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13090": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31869,
        31879
      ],
      "op": "LT",
      "path": "26"
    },
    "13091": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31869,
        31879
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3328"
    },
    "13094": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31869,
        31879
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13095": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31869,
        31879
      ],
      "op": "INVALID",
      "path": "26"
    },
    "13096": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31869,
        31879
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13097": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31869,
        31879
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13099": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31869,
        31879
      ],
      "op": "MUL",
      "path": "26"
    },
    "13100": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31869,
        31879
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13102": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31869,
        31879
      ],
      "op": "ADD",
      "path": "26"
    },
    "13103": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31869,
        31879
      ],
      "op": "ADD",
      "path": "26"
    },
    "13104": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31869,
        31890
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13105": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31869,
        31890
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13106": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31869,
        31890
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "13107": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31869,
        31890
      ],
      "op": "POP",
      "path": "26"
    },
    "13108": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31869,
        31890
      ],
      "op": "POP",
      "path": "26"
    },
    "13109": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31901,
        31907
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13111": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31896,
        32100
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13112": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31927,
        31928
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "13114": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31913,
        31917
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13115": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31913,
        31924
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13116": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31913,
        31928
      ],
      "op": "SUB",
      "path": "26"
    },
    "13117": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31909,
        31910
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13118": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31909,
        31928
      ],
      "op": "LT",
      "path": "26"
    },
    "13119": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31896,
        32100
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "13120": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31896,
        32100
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x33C0"
    },
    "13123": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31896,
        32100
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13124": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31944,
        31958
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13126": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31960,
        31975
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13127": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31979,
        32021
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x337A"
    },
    "13130": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31991,
        31998
      ],
      "op": "DUP8",
      "path": "26"
    },
    "13131": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32000,
        32004
      ],
      "op": "DUP7",
      "path": "26"
    },
    "13132": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32005,
        32006
      ],
      "op": "DUP6",
      "path": "26"
    },
    "13133": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32000,
        32007
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13134": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32000,
        32007
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13135": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32000,
        32007
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13136": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32000,
        32007
      ],
      "op": "LT",
      "path": "26"
    },
    "13137": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32000,
        32007
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3356"
    },
    "13140": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32000,
        32007
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13141": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32000,
        32007
      ],
      "op": "INVALID",
      "path": "26"
    },
    "13142": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32000,
        32007
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13143": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32000,
        32007
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13145": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32000,
        32007
      ],
      "op": "MUL",
      "path": "26"
    },
    "13146": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32000,
        32007
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13148": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32000,
        32007
      ],
      "op": "ADD",
      "path": "26"
    },
    "13149": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32000,
        32007
      ],
      "op": "ADD",
      "path": "26"
    },
    "13150": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32000,
        32007
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13151": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32009,
        32013
      ],
      "op": "DUP8",
      "path": "26"
    },
    "13152": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32014,
        32015
      ],
      "op": "DUP7",
      "path": "26"
    },
    "13153": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32018,
        32019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "13155": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32014,
        32019
      ],
      "op": "ADD",
      "path": "26"
    },
    "13156": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32009,
        32020
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13157": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32009,
        32020
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13158": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32009,
        32020
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13159": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32009,
        32020
      ],
      "op": "LT",
      "path": "26"
    },
    "13160": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32009,
        32020
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x336D"
    },
    "13163": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32009,
        32020
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13164": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32009,
        32020
      ],
      "op": "INVALID",
      "path": "26"
    },
    "13165": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32009,
        32020
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13166": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32009,
        32020
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13168": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32009,
        32020
      ],
      "op": "MUL",
      "path": "26"
    },
    "13169": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32009,
        32020
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13171": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32009,
        32020
      ],
      "op": "ADD",
      "path": "26"
    },
    "13172": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32009,
        32020
      ],
      "op": "ADD",
      "path": "26"
    },
    "13173": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32009,
        32020
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13174": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31979,
        31990
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x41F3"
    },
    "13177": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "jump": "i",
      "offset": [
        31979,
        32021
      ],
      "op": "JUMP",
      "path": "26"
    },
    "13178": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31979,
        32021
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13179": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31943,
        32021
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13180": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31943,
        32021
      ],
      "op": "POP",
      "path": "26"
    },
    "13181": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31943,
        32021
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13182": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31943,
        32021
      ],
      "op": "POP",
      "path": "26"
    },
    "13183": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32046,
        32093
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 85,
      "value": "0x339C"
    },
    "13186": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32059,
        32066
      ],
      "op": "DUP5",
      "path": "26"
    },
    "13187": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32067,
        32068
      ],
      "op": "DUP5",
      "path": "26"
    },
    "13188": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32059,
        32069
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13189": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32059,
        32069
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13190": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32059,
        32069
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13191": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32059,
        32069
      ],
      "op": "LT",
      "path": "26"
    },
    "13192": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32059,
        32069
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x338D"
    },
    "13195": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32059,
        32069
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13196": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32059,
        32069
      ],
      "op": "INVALID",
      "path": "26"
    },
    "13197": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32059,
        32069
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13198": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32059,
        32069
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13200": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32059,
        32069
      ],
      "op": "MUL",
      "path": "26"
    },
    "13201": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32059,
        32069
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13203": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32059,
        32069
      ],
      "op": "ADD",
      "path": "26"
    },
    "13204": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32059,
        32069
      ],
      "op": "ADD",
      "path": "26"
    },
    "13205": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32059,
        32069
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13206": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32071,
        32080
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13207": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32082,
        32092
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13208": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32046,
        32058
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x31BA"
    },
    "13211": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "jump": "i",
      "offset": [
        32046,
        32093
      ],
      "op": "JUMP",
      "path": "26"
    },
    "13212": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32046,
        32093
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13213": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32029,
        32036
      ],
      "op": "DUP5",
      "path": "26"
    },
    "13214": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32037,
        32038
      ],
      "op": "DUP5",
      "path": "26"
    },
    "13215": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32041,
        32042
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "13217": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32037,
        32042
      ],
      "op": "ADD",
      "path": "26"
    },
    "13218": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32029,
        32043
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13219": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32029,
        32043
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13220": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32029,
        32043
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13221": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32029,
        32043
      ],
      "op": "LT",
      "path": "26"
    },
    "13222": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32029,
        32043
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x33AB"
    },
    "13225": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32029,
        32043
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13226": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32029,
        32043
      ],
      "op": "INVALID",
      "path": "26"
    },
    "13227": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32029,
        32043
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13228": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32029,
        32043
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13230": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32029,
        32043
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "13231": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32029,
        32043
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13232": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32029,
        32043
      ],
      "op": "MUL",
      "path": "26"
    },
    "13233": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32029,
        32043
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13234": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32029,
        32043
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "13235": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32029,
        32043
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13236": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32029,
        32043
      ],
      "op": "ADD",
      "path": "26"
    },
    "13237": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32029,
        32043
      ],
      "op": "ADD",
      "path": "26"
    },
    "13238": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        32029,
        32093
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "13239": {
      "op": "POP"
    },
    "13240": {
      "op": "POP"
    },
    "13241": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31930,
        31933
      ],
      "op": "PUSH1",
      "path": "26",
      "statement": 86,
      "value": "0x1"
    },
    "13243": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31930,
        31933
      ],
      "op": "ADD",
      "path": "26"
    },
    "13244": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31896,
        32100
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3337"
    },
    "13247": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31896,
        32100
      ],
      "op": "JUMP",
      "path": "26"
    },
    "13248": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31896,
        32100
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13249": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31896,
        32100
      ],
      "op": "POP",
      "path": "26"
    },
    "13250": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31598,
        32104
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "13251": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31598,
        32104
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "13252": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31598,
        32104
      ],
      "op": "POP",
      "path": "26"
    },
    "13253": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31598,
        32104
      ],
      "op": "POP",
      "path": "26"
    },
    "13254": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "offset": [
        31598,
        32104
      ],
      "op": "POP",
      "path": "26"
    },
    "13255": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsOut",
      "jump": "o",
      "offset": [
        31598,
        32104
      ],
      "op": "JUMP",
      "path": "26"
    },
    "13256": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29052,
        29260
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13257": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29157,
        29169
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13259": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29223,
        29230
      ],
      "op": "DUP4",
      "path": "26",
      "statement": 87
    },
    "13260": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "13262": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "13264": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "13266": {
      "op": "SHL"
    },
    "13267": {
      "op": "SUB"
    },
    "13268": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29239
      ],
      "op": "AND",
      "path": "26"
    },
    "13269": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29239
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xE6A43905"
    },
    "13274": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29240,
        29246
      ],
      "op": "DUP5",
      "path": "26"
    },
    "13275": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29248,
        29254
      ],
      "op": "DUP5",
      "path": "26"
    },
    "13276": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "13278": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13279": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13280": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "13285": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "AND",
      "path": "26"
    },
    "13286": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "13288": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "SHL",
      "path": "26"
    },
    "13289": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13290": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "13291": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "13293": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "ADD",
      "path": "26"
    },
    "13294": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13295": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13296": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "13298": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "13300": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "13302": {
      "op": "SHL"
    },
    "13303": {
      "op": "SUB"
    },
    "13304": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "AND",
      "path": "26"
    },
    "13305": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13306": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "13307": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13309": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "ADD",
      "path": "26"
    },
    "13310": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "DUP3",
      "path": "26"
    },
    "13311": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "13313": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "13315": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "13317": {
      "op": "SHL"
    },
    "13318": {
      "op": "SUB"
    },
    "13319": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "AND",
      "path": "26"
    },
    "13320": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13321": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "13322": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13324": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "ADD",
      "path": "26"
    },
    "13325": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "13326": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "POP",
      "path": "26"
    },
    "13327": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "POP",
      "path": "26"
    },
    "13328": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "POP",
      "path": "26"
    },
    "13329": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13331": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "13333": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13334": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13335": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13336": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "SUB",
      "path": "26"
    },
    "13337": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13338": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "DUP7",
      "path": "26"
    },
    "13339": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13340": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "13341": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "13342": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13343": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "13344": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3428"
    },
    "13347": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13348": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13350": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13351": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "REVERT",
      "path": "26"
    },
    "13352": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13353": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "POP",
      "path": "26"
    },
    "13354": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "GAS",
      "path": "26"
    },
    "13355": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "STATICCALL",
      "path": "26"
    },
    "13356": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "13357": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13358": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "13359": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x343C"
    },
    "13362": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13363": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "13364": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13366": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13367": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "13368": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "13369": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13371": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "REVERT",
      "path": "26"
    },
    "13372": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13373": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "POP",
      "path": "26"
    },
    "13374": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "POP",
      "path": "26"
    },
    "13375": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "POP",
      "path": "26"
    },
    "13376": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "POP",
      "path": "26"
    },
    "13377": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "13379": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13380": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "13381": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13383": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13384": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "LT",
      "path": "26"
    },
    "13385": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "13386": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3452"
    },
    "13389": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13390": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13392": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13393": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "REVERT",
      "path": "26"
    },
    "13394": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13395": {
      "op": "POP"
    },
    "13396": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13397": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29184,
        29255
      ],
      "op": "SWAP5",
      "path": "26"
    },
    "13398": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "offset": [
        29052,
        29260
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "13399": {
      "op": "POP"
    },
    "13400": {
      "op": "POP"
    },
    "13401": {
      "op": "POP"
    },
    "13402": {
      "op": "POP"
    },
    "13403": {
      "fn": "MockUniswapV2Router02UniswapV2Library.pairFor",
      "jump": "o",
      "offset": [
        29052,
        29260
      ],
      "op": "JUMP",
      "path": "26"
    },
    "13404": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33669,
        34118
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13405": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "13407": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13408": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13409": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "13411": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "13413": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "13415": {
      "op": "SHL"
    },
    "13416": {
      "op": "SUB"
    },
    "13417": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "DUP6",
      "path": "26"
    },
    "13418": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13419": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "AND",
      "path": "26"
    },
    "13420": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "13422": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13423": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "ADD",
      "path": "26"
    },
    "13424": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "13425": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "DUP5",
      "path": "26"
    },
    "13426": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13427": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "AND",
      "path": "26"
    },
    "13428": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "13430": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13431": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "ADD",
      "path": "26"
    },
    "13432": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "13433": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "13435": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13436": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13437": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "ADD",
      "path": "26"
    },
    "13438": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "DUP6",
      "path": "26"
    },
    "13439": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "13440": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "13441": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13442": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13443": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13444": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "DUP5",
      "path": "26"
    },
    "13445": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "SUB",
      "path": "26"
    },
    "13446": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "13447": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13448": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "ADD",
      "path": "26"
    },
    "13449": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13450": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "13451": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x84"
    },
    "13453": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "13454": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "13455": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "ADD",
      "path": "26"
    },
    "13456": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13457": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "13458": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13460": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "DUP3",
      "path": "26"
    },
    "13461": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "ADD",
      "path": "26"
    },
    "13462": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13463": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13464": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "13466": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "13468": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "13470": {
      "op": "SHL"
    },
    "13471": {
      "op": "SUB"
    },
    "13472": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "AND",
      "path": "26"
    },
    "13473": {
      "op": "PUSH4",
      "value": "0x23B872DD"
    },
    "13478": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "13480": {
      "op": "SHL"
    },
    "13481": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "OR",
      "path": "26"
    },
    "13482": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13483": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "13484": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "13485": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13486": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP3",
      "path": "26"
    },
    "13487": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13488": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33858,
        33870
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13490": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33858,
        33870
      ],
      "op": "SWAP5",
      "path": "26"
    },
    "13491": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33872,
        33889
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "13493": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33872,
        33889
      ],
      "op": "SWAP5",
      "path": "26"
    },
    "13494": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33909
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "13495": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33909
      ],
      "op": "DUP11",
      "path": "26"
    },
    "13496": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33909
      ],
      "op": "AND",
      "path": "26"
    },
    "13497": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33909
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "13498": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "13499": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13500": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP3",
      "path": "26"
    },
    "13501": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13502": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "13503": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13504": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13505": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33910,
        33961
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13506": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13507": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13509": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13510": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "LT",
      "path": "26"
    },
    "13511": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x34E1"
    },
    "13514": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13515": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13516": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13517": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP3",
      "path": "26"
    },
    "13518": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "13519": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "13521": {
      "op": "NOT"
    },
    "13522": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "13523": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "13524": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "ADD",
      "path": "26"
    },
    "13525": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13526": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13528": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13529": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP3",
      "path": "26"
    },
    "13530": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "ADD",
      "path": "26"
    },
    "13531": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13532": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "ADD",
      "path": "26"
    },
    "13533": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x34C2"
    },
    "13536": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "JUMP",
      "path": "26"
    },
    "13537": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13538": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "13540": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13541": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13543": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "SUB",
      "path": "26"
    },
    "13544": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x100"
    },
    "13547": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "EXP",
      "path": "26"
    },
    "13548": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "SUB",
      "path": "26"
    },
    "13549": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13550": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "NOT",
      "path": "26"
    },
    "13551": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP3",
      "path": "26"
    },
    "13552": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13553": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "AND",
      "path": "26"
    },
    "13554": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13555": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP5",
      "path": "26"
    },
    "13556": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13557": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "AND",
      "path": "26"
    },
    "13558": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13559": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP3",
      "path": "26"
    },
    "13560": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "OR",
      "path": "26"
    },
    "13561": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP6",
      "path": "26"
    },
    "13562": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "13563": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "POP",
      "path": "26"
    },
    "13564": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "POP",
      "path": "26"
    },
    "13565": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "POP",
      "path": "26"
    },
    "13566": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "POP",
      "path": "26"
    },
    "13567": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "POP",
      "path": "26"
    },
    "13568": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "POP",
      "path": "26"
    },
    "13569": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "13570": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "POP",
      "path": "26"
    },
    "13571": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "ADD",
      "path": "26"
    },
    "13572": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13573": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "POP",
      "path": "26"
    },
    "13574": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "POP",
      "path": "26"
    },
    "13575": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13577": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "13579": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13580": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13581": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13582": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "SUB",
      "path": "26"
    },
    "13583": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13584": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13586": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP7",
      "path": "26"
    },
    "13587": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "GAS",
      "path": "26"
    },
    "13588": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "CALL",
      "path": "26"
    },
    "13589": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13590": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "POP",
      "path": "26"
    },
    "13591": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "POP",
      "path": "26"
    },
    "13592": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "13593": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13594": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13596": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13597": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "EQ",
      "path": "26"
    },
    "13598": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3543"
    },
    "13601": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13602": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "13604": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13605": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13606": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "POP",
      "path": "26"
    },
    "13607": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1F"
    },
    "13609": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "NOT",
      "path": "26"
    },
    "13610": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x3F"
    },
    "13612": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "13613": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "ADD",
      "path": "26"
    },
    "13614": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "AND",
      "path": "26"
    },
    "13615": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP3",
      "path": "26"
    },
    "13616": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "ADD",
      "path": "26"
    },
    "13617": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "13619": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "13620": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "13621": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP3",
      "path": "26"
    },
    "13622": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "13623": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "13624": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13626": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13628": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "DUP5",
      "path": "26"
    },
    "13629": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "ADD",
      "path": "26"
    },
    "13630": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "13631": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3548"
    },
    "13634": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "JUMP",
      "path": "26"
    },
    "13635": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13636": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "13638": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13639": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "POP",
      "path": "26"
    },
    "13640": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13641": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33899,
        33962
      ],
      "op": "POP",
      "path": "26"
    },
    "13642": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33857,
        33962
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13643": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33857,
        33962
      ],
      "op": "POP",
      "path": "26"
    },
    "13644": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33857,
        33962
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13645": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33857,
        33962
      ],
      "op": "POP",
      "path": "26"
    },
    "13646": {
      "branch": 151,
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33983,
        33990
      ],
      "op": "DUP2",
      "path": "26",
      "statement": 88
    },
    "13647": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33983,
        34040
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13648": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33983,
        34040
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "13649": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33983,
        34040
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3576"
    },
    "13652": {
      "branch": 151,
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33983,
        34040
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13653": {
      "op": "POP"
    },
    "13654": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33995,
        34006
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13655": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33995,
        34006
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13656": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33995,
        34011
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "13657": {
      "branch": 152,
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33995,
        34011
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13658": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33995,
        34039
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3576"
    },
    "13661": {
      "branch": 152,
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33995,
        34039
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13662": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33995,
        34039
      ],
      "op": "POP",
      "path": "26"
    },
    "13663": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        34026,
        34030
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13664": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        34015,
        34039
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13665": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        34015,
        34039
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13667": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        34015,
        34039
      ],
      "op": "ADD",
      "path": "26"
    },
    "13668": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        34015,
        34039
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "13669": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        34015,
        34039
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13670": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        34015,
        34039
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13672": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        34015,
        34039
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13673": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        34015,
        34039
      ],
      "op": "LT",
      "path": "26"
    },
    "13674": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        34015,
        34039
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "13675": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        34015,
        34039
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3573"
    },
    "13678": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        34015,
        34039
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13679": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        34015,
        34039
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13681": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        34015,
        34039
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13682": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        34015,
        34039
      ],
      "op": "REVERT",
      "path": "26"
    },
    "13683": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        34015,
        34039
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13684": {
      "op": "POP"
    },
    "13685": {
      "branch": 153,
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        34015,
        34039
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13686": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33995,
        34039
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13687": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x35B1"
    },
    "13690": {
      "branch": 153,
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13691": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "13693": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13694": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "13698": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "13700": {
      "op": "SHL"
    },
    "13701": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13702": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "13703": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "13705": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "ADD",
      "path": "26"
    },
    "13706": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13707": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13708": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13710": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "ADD",
      "path": "26"
    },
    "13711": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "DUP3",
      "path": "26"
    },
    "13712": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13713": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "SUB",
      "path": "26"
    },
    "13714": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "DUP3",
      "path": "26"
    },
    "13715": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "13716": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x39"
    },
    "13718": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13719": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "13720": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13722": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "ADD",
      "path": "26"
    },
    "13723": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13724": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4404"
    },
    "13727": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x39"
    },
    "13729": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13730": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "13731": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "13733": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "ADD",
      "path": "26"
    },
    "13734": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13735": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "POP",
      "path": "26"
    },
    "13736": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "POP",
      "path": "26"
    },
    "13737": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "13739": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13740": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13741": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13742": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "SUB",
      "path": "26"
    },
    "13743": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "13744": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "REVERT",
      "path": "26"
    },
    "13745": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33968,
        34113
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13746": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33669,
        34118
      ],
      "op": "POP",
      "path": "26"
    },
    "13747": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33669,
        34118
      ],
      "op": "POP",
      "path": "26"
    },
    "13748": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33669,
        34118
      ],
      "op": "POP",
      "path": "26"
    },
    "13749": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33669,
        34118
      ],
      "op": "POP",
      "path": "26"
    },
    "13750": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33669,
        34118
      ],
      "op": "POP",
      "path": "26"
    },
    "13751": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "offset": [
        33669,
        34118
      ],
      "op": "POP",
      "path": "26"
    },
    "13752": {
      "fn": "MockUniswapV2Router02TransferHelper.safeTransferFrom",
      "jump": "o",
      "offset": [
        33669,
        34118
      ],
      "op": "JUMP",
      "path": "26"
    },
    "13753": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17220,
        18030
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13754": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17338,
        17344
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13756": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17333,
        18026
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13757": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17364,
        17365
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "13759": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17350,
        17354
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13760": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17350,
        17361
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13761": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17350,
        17365
      ],
      "op": "SUB",
      "path": "26"
    },
    "13762": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17346,
        17347
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13763": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17346,
        17365
      ],
      "op": "LT",
      "path": "26"
    },
    "13764": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17333,
        18026
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "13765": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17333,
        18026
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x37F0"
    },
    "13768": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17333,
        18026
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13769": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17381,
        17394
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13771": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17396,
        17410
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13772": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17415,
        17419
      ],
      "op": "DUP5",
      "path": "26"
    },
    "13773": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17420,
        17421
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13774": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17415,
        17422
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13775": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17415,
        17422
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13776": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17415,
        17422
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13777": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17415,
        17422
      ],
      "op": "LT",
      "path": "26"
    },
    "13778": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17415,
        17422
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x35D7"
    },
    "13781": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17415,
        17422
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13782": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17415,
        17422
      ],
      "op": "INVALID",
      "path": "26"
    },
    "13783": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17415,
        17422
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13784": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17415,
        17422
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13786": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17415,
        17422
      ],
      "op": "MUL",
      "path": "26"
    },
    "13787": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17415,
        17422
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13789": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17415,
        17422
      ],
      "op": "ADD",
      "path": "26"
    },
    "13790": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17415,
        17422
      ],
      "op": "ADD",
      "path": "26"
    },
    "13791": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17415,
        17422
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13792": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17424,
        17428
      ],
      "op": "DUP6",
      "path": "26"
    },
    "13793": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17429,
        17430
      ],
      "op": "DUP5",
      "path": "26"
    },
    "13794": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17433,
        17434
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "13796": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17429,
        17434
      ],
      "op": "ADD",
      "path": "26"
    },
    "13797": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17424,
        17435
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13798": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17424,
        17435
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13799": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17424,
        17435
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13800": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17424,
        17435
      ],
      "op": "LT",
      "path": "26"
    },
    "13801": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17424,
        17435
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x35EE"
    },
    "13804": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17424,
        17435
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13805": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17424,
        17435
      ],
      "op": "INVALID",
      "path": "26"
    },
    "13806": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17424,
        17435
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13807": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17424,
        17435
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13809": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17424,
        17435
      ],
      "op": "MUL",
      "path": "26"
    },
    "13810": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17424,
        17435
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13812": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17424,
        17435
      ],
      "op": "ADD",
      "path": "26"
    },
    "13813": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17424,
        17435
      ],
      "op": "ADD",
      "path": "26"
    },
    "13814": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17424,
        17435
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13815": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17380,
        17436
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13816": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17380,
        17436
      ],
      "op": "POP",
      "path": "26"
    },
    "13817": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17380,
        17436
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13818": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17380,
        17436
      ],
      "op": "POP",
      "path": "26"
    },
    "13819": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17445,
        17459
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13821": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17465,
        17528
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3606"
    },
    "13824": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17514,
        17519
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13825": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17521,
        17527
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13826": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17465,
        17513
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3DE8"
    },
    "13829": {
      "fn": "MockUniswapV2Router02._swap",
      "jump": "i",
      "offset": [
        17465,
        17528
      ],
      "op": "JUMP",
      "path": "26"
    },
    "13830": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17465,
        17528
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13831": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17444,
        17528
      ],
      "op": "POP",
      "path": "26"
    },
    "13832": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17444,
        17528
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "13833": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17444,
        17528
      ],
      "op": "POP",
      "path": "26"
    },
    "13834": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17536,
        17550
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13836": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17553,
        17560
      ],
      "op": "DUP8",
      "path": "26"
    },
    "13837": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17561,
        17562
      ],
      "op": "DUP6",
      "path": "26"
    },
    "13838": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17565,
        17566
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "13840": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17561,
        17566
      ],
      "op": "ADD",
      "path": "26"
    },
    "13841": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17553,
        17567
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13842": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17553,
        17567
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13843": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17553,
        17567
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13844": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17553,
        17567
      ],
      "op": "LT",
      "path": "26"
    },
    "13845": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17553,
        17567
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x361A"
    },
    "13848": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17553,
        17567
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13849": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17553,
        17567
      ],
      "op": "INVALID",
      "path": "26"
    },
    "13850": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17553,
        17567
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13851": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17553,
        17567
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13853": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17553,
        17567
      ],
      "op": "MUL",
      "path": "26"
    },
    "13854": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17553,
        17567
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13856": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17553,
        17567
      ],
      "op": "ADD",
      "path": "26"
    },
    "13857": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17553,
        17567
      ],
      "op": "ADD",
      "path": "26"
    },
    "13858": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17553,
        17567
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13859": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17536,
        17567
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "13860": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17536,
        17567
      ],
      "op": "POP",
      "path": "26"
    },
    "13861": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17576,
        17591
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13863": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17593,
        17608
      ],
      "op": "DUP1",
      "path": "26"
    },
    "13864": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17629,
        17635
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13865": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "13867": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "13869": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "13871": {
      "op": "SHL"
    },
    "13872": {
      "op": "SUB"
    },
    "13873": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17620,
        17635
      ],
      "op": "AND",
      "path": "26"
    },
    "13874": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17620,
        17625
      ],
      "op": "DUP7",
      "path": "26"
    },
    "13875": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "13877": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "13879": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "13881": {
      "op": "SHL"
    },
    "13882": {
      "op": "SUB"
    },
    "13883": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17620,
        17635
      ],
      "op": "AND",
      "path": "26"
    },
    "13884": {
      "branch": 154,
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17620,
        17635
      ],
      "op": "EQ",
      "path": "26"
    },
    "13885": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17620,
        17681
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3648"
    },
    "13888": {
      "branch": 154,
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17620,
        17681
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13889": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17662,
        17671
      ],
      "op": "DUP3",
      "path": "26"
    },
    "13890": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17678,
        17679
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13892": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17620,
        17681
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x364C"
    },
    "13895": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17620,
        17681
      ],
      "op": "JUMP",
      "path": "26"
    },
    "13896": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17620,
        17681
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13897": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17644,
        17645
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13899": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17648,
        17657
      ],
      "op": "DUP4",
      "path": "26"
    },
    "13900": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17620,
        17681
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13901": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17575,
        17681
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13902": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17575,
        17681
      ],
      "op": "POP",
      "path": "26"
    },
    "13903": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17575,
        17681
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "13904": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17575,
        17681
      ],
      "op": "POP",
      "path": "26"
    },
    "13905": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17689,
        17699
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "13907": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17728,
        17729
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x2"
    },
    "13909": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17714,
        17718
      ],
      "op": "DUP11",
      "path": "26"
    },
    "13910": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17714,
        17725
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13911": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17714,
        17729
      ],
      "op": "SUB",
      "path": "26"
    },
    "13912": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17710,
        17711
      ],
      "op": "DUP9",
      "path": "26"
    },
    "13913": {
      "branch": 155,
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17710,
        17729
      ],
      "op": "LT",
      "path": "26"
    },
    "13914": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17710,
        17833
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3663"
    },
    "13917": {
      "branch": 155,
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17710,
        17833
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13918": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17830,
        17833
      ],
      "op": "DUP9",
      "path": "26"
    },
    "13919": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17710,
        17833
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x36A4"
    },
    "13922": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17710,
        17833
      ],
      "op": "JUMP",
      "path": "26"
    },
    "13923": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17710,
        17833
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13924": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17742,
        17817
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x36A4"
    },
    "13927": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17788,
        17795
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "13960": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17797,
        17803
      ],
      "op": "DUP8",
      "path": "26"
    },
    "13961": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17805,
        17809
      ],
      "op": "DUP13",
      "path": "26"
    },
    "13962": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17810,
        17811
      ],
      "op": "DUP12",
      "path": "26"
    },
    "13963": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17814,
        17815
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x2"
    },
    "13965": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17810,
        17815
      ],
      "op": "ADD",
      "path": "26"
    },
    "13966": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17805,
        17816
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13967": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17805,
        17816
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13968": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17805,
        17816
      ],
      "op": "DUP2",
      "path": "26"
    },
    "13969": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17805,
        17816
      ],
      "op": "LT",
      "path": "26"
    },
    "13970": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17805,
        17816
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3697"
    },
    "13973": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17805,
        17816
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "13974": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17805,
        17816
      ],
      "op": "INVALID",
      "path": "26"
    },
    "13975": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17805,
        17816
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13976": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17805,
        17816
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13978": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17805,
        17816
      ],
      "op": "MUL",
      "path": "26"
    },
    "13979": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17805,
        17816
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "13981": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17805,
        17816
      ],
      "op": "ADD",
      "path": "26"
    },
    "13982": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17805,
        17816
      ],
      "op": "ADD",
      "path": "26"
    },
    "13983": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17805,
        17816
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "13984": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17742,
        17787
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x33C8"
    },
    "13987": {
      "fn": "MockUniswapV2Router02._swap",
      "jump": "i",
      "offset": [
        17742,
        17817
      ],
      "op": "JUMP",
      "path": "26"
    },
    "13988": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17742,
        17817
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "13989": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17689,
        17833
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "13990": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17689,
        17833
      ],
      "op": "POP",
      "path": "26"
    },
    "13991": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17886,
        17955
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 89,
      "value": "0x36D1"
    },
    "13994": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17932,
        17939
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "14027": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17941,
        17946
      ],
      "op": "DUP9",
      "path": "26"
    },
    "14028": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17948,
        17954
      ],
      "op": "DUP9",
      "path": "26"
    },
    "14029": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17886,
        17931
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x33C8"
    },
    "14032": {
      "fn": "MockUniswapV2Router02._swap",
      "jump": "i",
      "offset": [
        17886,
        17955
      ],
      "op": "JUMP",
      "path": "26"
    },
    "14033": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17886,
        17955
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14034": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "14036": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "14038": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "14040": {
      "op": "SHL"
    },
    "14041": {
      "op": "SUB"
    },
    "14042": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        17977
      ],
      "op": "AND",
      "path": "26"
    },
    "14043": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        17977
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x22C0D9F"
    },
    "14048": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17978,
        17988
      ],
      "op": "DUP5",
      "path": "26"
    },
    "14049": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17990,
        18000
      ],
      "op": "DUP5",
      "path": "26"
    },
    "14050": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18002,
        18004
      ],
      "op": "DUP5",
      "path": "26"
    },
    "14051": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18016,
        18017
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "14053": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "14055": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14056": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "14057": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14058": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "DUP3",
      "path": "26"
    },
    "14059": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "14060": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14061": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1F"
    },
    "14063": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "ADD",
      "path": "26"
    },
    "14064": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1F"
    },
    "14066": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "NOT",
      "path": "26"
    },
    "14067": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "AND",
      "path": "26"
    },
    "14068": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14070": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "ADD",
      "path": "26"
    },
    "14071": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "DUP3",
      "path": "26"
    },
    "14072": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "ADD",
      "path": "26"
    },
    "14073": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "14075": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "14076": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14077": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "14078": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x370E"
    },
    "14081": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14082": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14084": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "DUP3",
      "path": "26"
    },
    "14085": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "ADD",
      "path": "26"
    },
    "14086": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14087": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14088": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "14089": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14090": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "CALLDATACOPY",
      "path": "26"
    },
    "14091": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "ADD",
      "path": "26"
    },
    "14092": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "14093": {
      "op": "POP"
    },
    "14094": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14095": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        18006,
        18018
      ],
      "op": "POP",
      "path": "26"
    },
    "14096": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "14098": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14099": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP6",
      "path": "26"
    },
    "14100": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "14105": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "AND",
      "path": "26"
    },
    "14106": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "14108": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "SHL",
      "path": "26"
    },
    "14109": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14110": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "14111": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "14113": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "ADD",
      "path": "26"
    },
    "14114": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14115": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP6",
      "path": "26"
    },
    "14116": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14117": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "14118": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14120": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "ADD",
      "path": "26"
    },
    "14121": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP5",
      "path": "26"
    },
    "14122": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14123": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "14124": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14126": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "ADD",
      "path": "26"
    },
    "14127": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14128": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "14130": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "14132": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "14134": {
      "op": "SHL"
    },
    "14135": {
      "op": "SUB"
    },
    "14136": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "AND",
      "path": "26"
    },
    "14137": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14138": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "14139": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14141": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "ADD",
      "path": "26"
    },
    "14142": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14143": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14145": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "ADD",
      "path": "26"
    },
    "14146": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP3",
      "path": "26"
    },
    "14147": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14148": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "SUB",
      "path": "26"
    },
    "14149": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP3",
      "path": "26"
    },
    "14150": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "14151": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14152": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14153": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14154": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14155": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14156": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "14157": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14159": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "ADD",
      "path": "26"
    },
    "14160": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "14161": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "POP",
      "path": "26"
    },
    "14162": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14163": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14164": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "14165": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14167": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "ADD",
      "path": "26"
    },
    "14168": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "14169": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14170": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14171": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14172": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "14174": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14175": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14176": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14177": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "LT",
      "path": "26"
    },
    "14178": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "14179": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3776"
    },
    "14182": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14183": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14184": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14185": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "ADD",
      "path": "26"
    },
    "14186": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14187": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14188": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP3",
      "path": "26"
    },
    "14189": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "ADD",
      "path": "26"
    },
    "14190": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "14191": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14193": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "ADD",
      "path": "26"
    },
    "14194": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x375E"
    },
    "14197": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "JUMP",
      "path": "26"
    },
    "14198": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14199": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "POP",
      "path": "26"
    },
    "14200": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "POP",
      "path": "26"
    },
    "14201": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "POP",
      "path": "26"
    },
    "14202": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "POP",
      "path": "26"
    },
    "14203": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "14204": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "POP",
      "path": "26"
    },
    "14205": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "14206": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14207": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "ADD",
      "path": "26"
    },
    "14208": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "14209": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1F"
    },
    "14211": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "AND",
      "path": "26"
    },
    "14212": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14213": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "14214": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x37A3"
    },
    "14217": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14218": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14219": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP3",
      "path": "26"
    },
    "14220": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "SUB",
      "path": "26"
    },
    "14221": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14222": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14223": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "14225": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14226": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14228": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "SUB",
      "path": "26"
    },
    "14229": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x100"
    },
    "14232": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "EXP",
      "path": "26"
    },
    "14233": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "SUB",
      "path": "26"
    },
    "14234": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "NOT",
      "path": "26"
    },
    "14235": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "AND",
      "path": "26"
    },
    "14236": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14237": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "14238": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14240": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "ADD",
      "path": "26"
    },
    "14241": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "14242": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "POP",
      "path": "26"
    },
    "14243": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14244": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "POP",
      "path": "26"
    },
    "14245": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "SWAP6",
      "path": "26"
    },
    "14246": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "POP",
      "path": "26"
    },
    "14247": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "POP",
      "path": "26"
    },
    "14248": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "POP",
      "path": "26"
    },
    "14249": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "POP",
      "path": "26"
    },
    "14250": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "POP",
      "path": "26"
    },
    "14251": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "POP",
      "path": "26"
    },
    "14252": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "14254": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "14256": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14257": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14258": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14259": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "SUB",
      "path": "26"
    },
    "14260": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14261": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "14263": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP8",
      "path": "26"
    },
    "14264": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14265": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "14266": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "14267": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14268": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "14269": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x37C5"
    },
    "14272": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14273": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "14275": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14276": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "REVERT",
      "path": "26"
    },
    "14277": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14278": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "POP",
      "path": "26"
    },
    "14279": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "GAS",
      "path": "26"
    },
    "14280": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "CALL",
      "path": "26"
    },
    "14281": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "14282": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14283": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "14284": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x37D9"
    },
    "14287": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14288": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "14289": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "14291": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14292": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "14293": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "14294": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "14296": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "REVERT",
      "path": "26"
    },
    "14297": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17841,
        18019
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14298": {
      "op": "POP"
    },
    "14299": {
      "op": "POP"
    },
    "14300": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17367,
        17370
      ],
      "op": "PUSH1",
      "path": "26",
      "statement": 90,
      "value": "0x1"
    },
    "14302": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17367,
        17370
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "14303": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17367,
        17370
      ],
      "op": "SWAP10",
      "path": "26"
    },
    "14304": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17367,
        17370
      ],
      "op": "ADD",
      "path": "26"
    },
    "14305": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17367,
        17370
      ],
      "op": "SWAP9",
      "path": "26"
    },
    "14306": {
      "op": "POP"
    },
    "14307": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17333,
        18026
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x35BC"
    },
    "14310": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17333,
        18026
      ],
      "op": "SWAP8",
      "path": "26"
    },
    "14311": {
      "op": "POP"
    },
    "14312": {
      "op": "POP"
    },
    "14313": {
      "op": "POP"
    },
    "14314": {
      "op": "POP"
    },
    "14315": {
      "op": "POP"
    },
    "14316": {
      "op": "POP"
    },
    "14317": {
      "op": "POP"
    },
    "14318": {
      "op": "POP"
    },
    "14319": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17333,
        18026
      ],
      "op": "JUMP",
      "path": "26"
    },
    "14320": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17333,
        18026
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14321": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17333,
        18026
      ],
      "op": "POP",
      "path": "26"
    },
    "14322": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17220,
        18030
      ],
      "op": "POP",
      "path": "26"
    },
    "14323": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17220,
        18030
      ],
      "op": "POP",
      "path": "26"
    },
    "14324": {
      "fn": "MockUniswapV2Router02._swap",
      "offset": [
        17220,
        18030
      ],
      "op": "POP",
      "path": "26"
    },
    "14325": {
      "fn": "MockUniswapV2Router02._swap",
      "jump": "o",
      "offset": [
        17220,
        18030
      ],
      "op": "JUMP",
      "path": "26"
    },
    "14326": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32178,
        32705
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14327": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32295,
        32316
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "14329": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32347,
        32348
      ],
      "op": "PUSH1",
      "path": "26",
      "statement": 91,
      "value": "0x2"
    },
    "14331": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32332,
        32336
      ],
      "op": "DUP3",
      "path": "26"
    },
    "14332": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32332,
        32343
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14333": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32332,
        32348
      ],
      "op": "LT",
      "path": "26"
    },
    "14334": {
      "branch": 156,
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32332,
        32348
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "14335": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3839"
    },
    "14338": {
      "branch": 156,
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14339": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "14341": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14342": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "14346": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "14348": {
      "op": "SHL"
    },
    "14349": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14350": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "14351": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "14353": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "ADD",
      "path": "26"
    },
    "14354": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14355": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14356": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14358": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "ADD",
      "path": "26"
    },
    "14359": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "DUP3",
      "path": "26"
    },
    "14360": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14361": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "SUB",
      "path": "26"
    },
    "14362": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "DUP3",
      "path": "26"
    },
    "14363": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "14364": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x33"
    },
    "14366": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14367": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "14368": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14370": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "ADD",
      "path": "26"
    },
    "14371": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14372": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4484"
    },
    "14375": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x33"
    },
    "14377": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "14378": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "14379": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "14381": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "ADD",
      "path": "26"
    },
    "14382": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "14383": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "POP",
      "path": "26"
    },
    "14384": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "POP",
      "path": "26"
    },
    "14385": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "14387": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14388": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14389": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "14390": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "SUB",
      "path": "26"
    },
    "14391": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "14392": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "REVERT",
      "path": "26"
    },
    "14393": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32324,
        32404
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14394": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32431,
        32435
      ],
      "op": "DUP2",
      "path": "26",
      "statement": 92
    },
    "14395": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32431,
        32442
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14396": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "PUSH8",
      "path": "26",
      "value": "0xFFFFFFFFFFFFFFFF"
    },
    "14405": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14406": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "GT",
      "path": "26"
    },
    "14407": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14408": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "14409": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3851"
    },
    "14412": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14413": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "14415": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14416": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "REVERT",
      "path": "26"
    },
    "14417": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14418": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "POP",
      "path": "26"
    },
    "14419": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "14421": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14422": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "14423": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14424": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "DUP3",
      "path": "26"
    },
    "14425": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "14426": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14427": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14429": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "MUL",
      "path": "26"
    },
    "14430": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14432": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "ADD",
      "path": "26"
    },
    "14433": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "DUP3",
      "path": "26"
    },
    "14434": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "ADD",
      "path": "26"
    },
    "14435": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "14437": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "14438": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14439": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "14440": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x387B"
    },
    "14443": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14444": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14445": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14447": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "ADD",
      "path": "26"
    },
    "14448": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14450": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "DUP3",
      "path": "26"
    },
    "14451": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "MUL",
      "path": "26"
    },
    "14452": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14453": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "CALLDATASIZE",
      "path": "26"
    },
    "14454": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14455": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "CALLDATACOPY",
      "path": "26"
    },
    "14456": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "ADD",
      "path": "26"
    },
    "14457": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "14458": {
      "op": "POP"
    },
    "14459": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14460": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32420,
        32443
      ],
      "op": "POP",
      "path": "26"
    },
    "14461": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32410,
        32443
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "14462": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32410,
        32443
      ],
      "op": "POP",
      "path": "26"
    },
    "14463": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32479,
        32488
      ],
      "op": "DUP3",
      "path": "26",
      "statement": 93
    },
    "14464": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32449,
        32456
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14465": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32474,
        32475
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "14467": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32457,
        32464
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14468": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32457,
        32471
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14469": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32457,
        32475
      ],
      "op": "SUB",
      "path": "26"
    },
    "14470": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32449,
        32476
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14471": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32449,
        32476
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14472": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32449,
        32476
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14473": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32449,
        32476
      ],
      "op": "LT",
      "path": "26"
    },
    "14474": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32449,
        32476
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x388F"
    },
    "14477": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32449,
        32476
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14478": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32449,
        32476
      ],
      "op": "INVALID",
      "path": "26"
    },
    "14479": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32449,
        32476
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14480": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32449,
        32476
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14482": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32449,
        32476
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "14483": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32449,
        32476
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14484": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32449,
        32476
      ],
      "op": "MUL",
      "path": "26"
    },
    "14485": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32449,
        32476
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "14486": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32449,
        32476
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "14487": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32449,
        32476
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "14488": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32449,
        32476
      ],
      "op": "ADD",
      "path": "26"
    },
    "14489": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32449,
        32476
      ],
      "op": "ADD",
      "path": "26"
    },
    "14490": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32449,
        32488
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "14491": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32508,
        32519
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14492": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32508,
        32519
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14493": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "14495": {
      "op": "NOT"
    },
    "14496": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32508,
        32523
      ],
      "op": "ADD",
      "path": "26"
    },
    "14497": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32494,
        32701
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14498": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32525,
        32530
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14499": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32525,
        32530
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "14500": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32494,
        32701
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x33C0"
    },
    "14503": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32494,
        32701
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14504": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32546,
        32560
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "14506": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32562,
        32577
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14507": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32581,
        32623
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x38D1"
    },
    "14510": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32593,
        32600
      ],
      "op": "DUP8",
      "path": "26"
    },
    "14511": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32602,
        32606
      ],
      "op": "DUP7",
      "path": "26"
    },
    "14512": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32611,
        32612
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "14514": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32607,
        32608
      ],
      "op": "DUP7",
      "path": "26"
    },
    "14515": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32607,
        32612
      ],
      "op": "SUB",
      "path": "26"
    },
    "14516": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32602,
        32613
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14517": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32602,
        32613
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14518": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32602,
        32613
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14519": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32602,
        32613
      ],
      "op": "LT",
      "path": "26"
    },
    "14520": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32602,
        32613
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x38BD"
    },
    "14523": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32602,
        32613
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14524": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32602,
        32613
      ],
      "op": "INVALID",
      "path": "26"
    },
    "14525": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32602,
        32613
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14526": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32602,
        32613
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14528": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32602,
        32613
      ],
      "op": "MUL",
      "path": "26"
    },
    "14529": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32602,
        32613
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14531": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32602,
        32613
      ],
      "op": "ADD",
      "path": "26"
    },
    "14532": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32602,
        32613
      ],
      "op": "ADD",
      "path": "26"
    },
    "14533": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32602,
        32613
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14534": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32615,
        32619
      ],
      "op": "DUP8",
      "path": "26"
    },
    "14535": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32620,
        32621
      ],
      "op": "DUP7",
      "path": "26"
    },
    "14536": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32615,
        32622
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14537": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32615,
        32622
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14538": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32615,
        32622
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14539": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32615,
        32622
      ],
      "op": "LT",
      "path": "26"
    },
    "14540": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32615,
        32622
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x336D"
    },
    "14543": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32615,
        32622
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14544": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32615,
        32622
      ],
      "op": "INVALID",
      "path": "26"
    },
    "14545": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32581,
        32623
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14546": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32545,
        32623
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "14547": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32545,
        32623
      ],
      "op": "POP",
      "path": "26"
    },
    "14548": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32545,
        32623
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "14549": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32545,
        32623
      ],
      "op": "POP",
      "path": "26"
    },
    "14550": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32648,
        32694
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 94,
      "value": "0x38F3"
    },
    "14553": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32660,
        32667
      ],
      "op": "DUP5",
      "path": "26"
    },
    "14554": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32668,
        32669
      ],
      "op": "DUP5",
      "path": "26"
    },
    "14555": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32660,
        32670
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14556": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32660,
        32670
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14557": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32660,
        32670
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14558": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32660,
        32670
      ],
      "op": "LT",
      "path": "26"
    },
    "14559": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32660,
        32670
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x38E4"
    },
    "14562": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32660,
        32670
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14563": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32660,
        32670
      ],
      "op": "INVALID",
      "path": "26"
    },
    "14564": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32660,
        32670
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14565": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32660,
        32670
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14567": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32660,
        32670
      ],
      "op": "MUL",
      "path": "26"
    },
    "14568": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32660,
        32670
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14570": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32660,
        32670
      ],
      "op": "ADD",
      "path": "26"
    },
    "14571": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32660,
        32670
      ],
      "op": "ADD",
      "path": "26"
    },
    "14572": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32660,
        32670
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14573": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32672,
        32681
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14574": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32683,
        32693
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14575": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32648,
        32659
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3C6A"
    },
    "14578": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "jump": "i",
      "offset": [
        32648,
        32694
      ],
      "op": "JUMP",
      "path": "26"
    },
    "14579": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32648,
        32694
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14580": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32631,
        32638
      ],
      "op": "DUP5",
      "path": "26"
    },
    "14581": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32643,
        32644
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "14583": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32639,
        32640
      ],
      "op": "DUP6",
      "path": "26"
    },
    "14584": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32639,
        32644
      ],
      "op": "SUB",
      "path": "26"
    },
    "14585": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32631,
        32645
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14586": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32631,
        32645
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14587": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32631,
        32645
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14588": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32631,
        32645
      ],
      "op": "LT",
      "path": "26"
    },
    "14589": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32631,
        32645
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3902"
    },
    "14592": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32631,
        32645
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14593": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32631,
        32645
      ],
      "op": "INVALID",
      "path": "26"
    },
    "14594": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32631,
        32645
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14595": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32631,
        32645
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14597": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32631,
        32645
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "14598": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32631,
        32645
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14599": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32631,
        32645
      ],
      "op": "MUL",
      "path": "26"
    },
    "14600": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32631,
        32645
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "14601": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32631,
        32645
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "14602": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32631,
        32645
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "14603": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32631,
        32645
      ],
      "op": "ADD",
      "path": "26"
    },
    "14604": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32631,
        32645
      ],
      "op": "ADD",
      "path": "26"
    },
    "14605": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32631,
        32694
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "14606": {
      "op": "POP"
    },
    "14607": {
      "op": "POP"
    },
    "14608": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "14610": {
      "op": "NOT"
    },
    "14611": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32532,
        32535
      ],
      "op": "ADD",
      "path": "26",
      "statement": 95
    },
    "14612": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32494,
        32701
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x38A1"
    },
    "14615": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountsIn",
      "offset": [
        32494,
        32701
      ],
      "op": "JUMP",
      "path": "26"
    },
    "14616": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        22907,
        24268
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14617": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23015,
        23021
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "14619": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23010,
        24264
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14620": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23041,
        23042
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "14622": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23027,
        23031
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14623": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23027,
        23038
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14624": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23027,
        23042
      ],
      "op": "SUB",
      "path": "26"
    },
    "14625": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23023,
        23024
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14626": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23023,
        23042
      ],
      "op": "LT",
      "path": "26"
    },
    "14627": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23010,
        24264
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "14628": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23010,
        24264
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x31B5"
    },
    "14631": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23010,
        24264
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14632": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23058,
        23071
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "14634": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23073,
        23087
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14635": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23092,
        23096
      ],
      "op": "DUP5",
      "path": "26"
    },
    "14636": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23097,
        23098
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14637": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23092,
        23099
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14638": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23092,
        23099
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14639": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23092,
        23099
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14640": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23092,
        23099
      ],
      "op": "LT",
      "path": "26"
    },
    "14641": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23092,
        23099
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3936"
    },
    "14644": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23092,
        23099
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14645": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23092,
        23099
      ],
      "op": "INVALID",
      "path": "26"
    },
    "14646": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23092,
        23099
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14647": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23092,
        23099
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14649": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23092,
        23099
      ],
      "op": "MUL",
      "path": "26"
    },
    "14650": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23092,
        23099
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14652": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23092,
        23099
      ],
      "op": "ADD",
      "path": "26"
    },
    "14653": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23092,
        23099
      ],
      "op": "ADD",
      "path": "26"
    },
    "14654": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23092,
        23099
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14655": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23101,
        23105
      ],
      "op": "DUP6",
      "path": "26"
    },
    "14656": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23106,
        23107
      ],
      "op": "DUP5",
      "path": "26"
    },
    "14657": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23110,
        23111
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "14659": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23106,
        23111
      ],
      "op": "ADD",
      "path": "26"
    },
    "14660": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23101,
        23112
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14661": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23101,
        23112
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14662": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23101,
        23112
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14663": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23101,
        23112
      ],
      "op": "LT",
      "path": "26"
    },
    "14664": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23101,
        23112
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x394D"
    },
    "14667": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23101,
        23112
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14668": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23101,
        23112
      ],
      "op": "INVALID",
      "path": "26"
    },
    "14669": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23101,
        23112
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14670": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23101,
        23112
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14672": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23101,
        23112
      ],
      "op": "MUL",
      "path": "26"
    },
    "14673": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23101,
        23112
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14675": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23101,
        23112
      ],
      "op": "ADD",
      "path": "26"
    },
    "14676": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23101,
        23112
      ],
      "op": "ADD",
      "path": "26"
    },
    "14677": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23101,
        23112
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14678": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23057,
        23113
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "14679": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23057,
        23113
      ],
      "op": "POP",
      "path": "26"
    },
    "14680": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23057,
        23113
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "14681": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23057,
        23113
      ],
      "op": "POP",
      "path": "26"
    },
    "14682": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23122,
        23136
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "14684": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23142,
        23205
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3965"
    },
    "14687": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23191,
        23196
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14688": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23198,
        23204
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14689": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23142,
        23190
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3DE8"
    },
    "14692": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "jump": "i",
      "offset": [
        23142,
        23205
      ],
      "op": "JUMP",
      "path": "26"
    },
    "14693": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23142,
        23205
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14694": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23121,
        23205
      ],
      "op": "POP",
      "path": "26"
    },
    "14695": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23121,
        23205
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "14696": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23121,
        23205
      ],
      "op": "POP",
      "path": "26"
    },
    "14697": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23213,
        23253
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "14699": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23311,
        23380
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3995"
    },
    "14702": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23357,
        23364
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "14735": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23366,
        23371
      ],
      "op": "DUP6",
      "path": "26"
    },
    "14736": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23373,
        23379
      ],
      "op": "DUP6",
      "path": "26"
    },
    "14737": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23311,
        23356
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x33C8"
    },
    "14740": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "jump": "i",
      "offset": [
        23311,
        23380
      ],
      "op": "JUMP",
      "path": "26"
    },
    "14741": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23311,
        23380
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14742": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23213,
        23390
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "14743": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23213,
        23390
      ],
      "op": "POP",
      "path": "26"
    },
    "14744": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23398,
        23414
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "14746": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23422,
        23439
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14747": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23506,
        23519
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "14749": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23521,
        23534
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14750": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23544
      ],
      "op": "DUP5",
      "path": "26"
    },
    "14751": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "14753": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "14755": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "14757": {
      "op": "SHL"
    },
    "14758": {
      "op": "SUB"
    },
    "14759": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23556
      ],
      "op": "AND",
      "path": "26"
    },
    "14760": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23556
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x902F1AC"
    },
    "14765": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "14767": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14768": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14769": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "14774": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "AND",
      "path": "26"
    },
    "14775": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "14777": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "SHL",
      "path": "26"
    },
    "14778": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14779": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "14780": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "14782": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "ADD",
      "path": "26"
    },
    "14783": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "14785": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "14787": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14788": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14789": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14790": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "SUB",
      "path": "26"
    },
    "14791": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14792": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "DUP7",
      "path": "26"
    },
    "14793": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14794": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "14795": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "14796": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14797": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "14798": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x39D6"
    },
    "14801": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14802": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "14804": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14805": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "REVERT",
      "path": "26"
    },
    "14806": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14807": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "POP",
      "path": "26"
    },
    "14808": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "GAS",
      "path": "26"
    },
    "14809": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "STATICCALL",
      "path": "26"
    },
    "14810": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "14811": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14812": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "14813": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x39EA"
    },
    "14816": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14817": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "14818": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "14820": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14821": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "14822": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "14823": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "14825": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "REVERT",
      "path": "26"
    },
    "14826": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14827": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "POP",
      "path": "26"
    },
    "14828": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "POP",
      "path": "26"
    },
    "14829": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "POP",
      "path": "26"
    },
    "14830": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "POP",
      "path": "26"
    },
    "14831": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "14833": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14834": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "14835": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "14837": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14838": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "LT",
      "path": "26"
    },
    "14839": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "14840": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3A00"
    },
    "14843": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14844": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "14846": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14847": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "REVERT",
      "path": "26"
    },
    "14848": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14849": {
      "op": "POP"
    },
    "14850": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14851": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14852": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14854": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "14855": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "14856": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "ADD",
      "path": "26"
    },
    "14857": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23540,
        23558
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14858": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "14860": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "14862": {
      "op": "PUSH1",
      "value": "0x70"
    },
    "14864": {
      "op": "SHL"
    },
    "14865": {
      "op": "SUB"
    },
    "14866": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23505,
        23558
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "14867": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23505,
        23558
      ],
      "op": "DUP3",
      "path": "26"
    },
    "14868": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23505,
        23558
      ],
      "op": "AND",
      "path": "26"
    },
    "14869": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23505,
        23558
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "14870": {
      "op": "POP"
    },
    "14871": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23505,
        23558
      ],
      "op": "AND",
      "path": "26"
    },
    "14872": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23505,
        23558
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "14873": {
      "op": "POP"
    },
    "14874": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23569,
        23586
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "14876": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23569,
        23586
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14877": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "14879": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "14881": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "14883": {
      "op": "SHL"
    },
    "14884": {
      "op": "SUB"
    },
    "14885": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23620,
        23635
      ],
      "op": "DUP11",
      "path": "26"
    },
    "14886": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23620,
        23635
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14887": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23620,
        23635
      ],
      "op": "AND",
      "path": "26"
    },
    "14888": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23620,
        23635
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "14889": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23620,
        23635
      ],
      "op": "DUP10",
      "path": "26"
    },
    "14890": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23620,
        23635
      ],
      "op": "AND",
      "path": "26"
    },
    "14891": {
      "branch": 157,
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23620,
        23635
      ],
      "op": "EQ",
      "path": "26"
    },
    "14892": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23620,
        23681
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3A36"
    },
    "14895": {
      "branch": 157,
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23620,
        23681
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14896": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23662,
        23670
      ],
      "op": "DUP3",
      "path": "26"
    },
    "14897": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23672,
        23680
      ],
      "op": "DUP5",
      "path": "26"
    },
    "14898": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23620,
        23681
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3A39"
    },
    "14901": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23620,
        23681
      ],
      "op": "JUMP",
      "path": "26"
    },
    "14902": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23620,
        23681
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14903": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23639,
        23647
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14904": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23649,
        23657
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14905": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23620,
        23681
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14906": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23568,
        23681
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "14907": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23568,
        23681
      ],
      "op": "POP",
      "path": "26"
    },
    "14908": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23568,
        23681
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "14909": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23568,
        23681
      ],
      "op": "POP",
      "path": "26"
    },
    "14910": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23761
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 96,
      "value": "0x3A8E"
    },
    "14913": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23748,
        23760
      ],
      "op": "DUP3",
      "path": "26"
    },
    "14914": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23712,
        23717
      ],
      "op": "DUP12",
      "path": "26"
    },
    "14915": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "14917": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "14919": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "14921": {
      "op": "SHL"
    },
    "14922": {
      "op": "SUB"
    },
    "14923": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23728
      ],
      "op": "AND",
      "path": "26"
    },
    "14924": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23728
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x70A08231"
    },
    "14929": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23737,
        23741
      ],
      "op": "DUP11",
      "path": "26"
    },
    "14930": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "14932": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14933": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "DUP3",
      "path": "26"
    },
    "14934": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "14939": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "AND",
      "path": "26"
    },
    "14940": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "14942": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "SHL",
      "path": "26"
    },
    "14943": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14944": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "14945": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "14947": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "ADD",
      "path": "26"
    },
    "14948": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14949": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "DUP3",
      "path": "26"
    },
    "14950": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "14952": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "14954": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "14956": {
      "op": "SHL"
    },
    "14957": {
      "op": "SUB"
    },
    "14958": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "AND",
      "path": "26"
    },
    "14959": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14960": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "14961": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14963": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "ADD",
      "path": "26"
    },
    "14964": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "14965": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "POP",
      "path": "26"
    },
    "14966": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "POP",
      "path": "26"
    },
    "14967": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "14969": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "14971": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "14972": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14973": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14974": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "SUB",
      "path": "26"
    },
    "14975": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "DUP2",
      "path": "26"
    },
    "14976": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "DUP7",
      "path": "26"
    },
    "14977": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14978": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "14979": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "14980": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14981": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "14982": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x180C"
    },
    "14985": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "14986": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "14988": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "DUP1",
      "path": "26"
    },
    "14989": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23743
      ],
      "op": "REVERT",
      "path": "26"
    },
    "14990": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23705,
        23761
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "14991": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23691,
        23761
      ],
      "op": "SWAP6",
      "path": "26"
    },
    "14992": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23691,
        23761
      ],
      "op": "POP",
      "path": "26"
    },
    "14993": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23786,
        23918
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 97,
      "value": "0x3A9B"
    },
    "14996": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23848,
        23859
      ],
      "op": "DUP7",
      "path": "26"
    },
    "14997": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23871,
        23883
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14998": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23895,
        23908
      ],
      "op": "DUP4",
      "path": "26"
    },
    "14999": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23786,
        23836
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x31BA"
    },
    "15002": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "jump": "i",
      "offset": [
        23786,
        23918
      ],
      "op": "JUMP",
      "path": "26"
    },
    "15003": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23786,
        23918
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15004": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23771,
        23918
      ],
      "op": "SWAP5",
      "path": "26"
    },
    "15005": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23771,
        23918
      ],
      "op": "POP",
      "path": "26"
    },
    "15006": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23010,
        24264
      ],
      "op": "POP",
      "path": "26"
    },
    "15007": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23010,
        24264
      ],
      "op": "POP",
      "path": "26"
    },
    "15008": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23010,
        24264
      ],
      "op": "POP",
      "path": "26"
    },
    "15009": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23010,
        24264
      ],
      "op": "POP",
      "path": "26"
    },
    "15010": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23935,
        23950
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "15012": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23952,
        23967
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15013": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23988,
        23994
      ],
      "op": "DUP6",
      "path": "26"
    },
    "15014": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "15016": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "15018": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "15020": {
      "op": "SHL"
    },
    "15021": {
      "op": "SUB"
    },
    "15022": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23979,
        23994
      ],
      "op": "AND",
      "path": "26"
    },
    "15023": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23979,
        23984
      ],
      "op": "DUP9",
      "path": "26"
    },
    "15024": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "15026": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "15028": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "15030": {
      "op": "SHL"
    },
    "15031": {
      "op": "SUB"
    },
    "15032": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23979,
        23994
      ],
      "op": "AND",
      "path": "26"
    },
    "15033": {
      "branch": 158,
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23979,
        23994
      ],
      "op": "EQ",
      "path": "26"
    },
    "15034": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23979,
        24046
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3AC5"
    },
    "15037": {
      "branch": 158,
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23979,
        24046
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "15038": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24024,
        24036
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15039": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24043,
        24044
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "15041": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23979,
        24046
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3AC9"
    },
    "15044": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23979,
        24046
      ],
      "op": "JUMP",
      "path": "26"
    },
    "15045": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23979,
        24046
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15046": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24003,
        24004
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "15048": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24007,
        24019
      ],
      "op": "DUP4",
      "path": "26"
    },
    "15049": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23979,
        24046
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15050": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23934,
        24046
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15051": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23934,
        24046
      ],
      "op": "POP",
      "path": "26"
    },
    "15052": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23934,
        24046
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15053": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23934,
        24046
      ],
      "op": "POP",
      "path": "26"
    },
    "15054": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24054,
        24064
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "15056": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24093,
        24094
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x2"
    },
    "15058": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24079,
        24083
      ],
      "op": "DUP13",
      "path": "26"
    },
    "15059": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24079,
        24090
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "15060": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24079,
        24094
      ],
      "op": "SUB",
      "path": "26"
    },
    "15061": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24075,
        24076
      ],
      "op": "DUP11",
      "path": "26"
    },
    "15062": {
      "branch": 159,
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24075,
        24094
      ],
      "op": "LT",
      "path": "26"
    },
    "15063": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24075,
        24198
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3AE0"
    },
    "15066": {
      "branch": 159,
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24075,
        24198
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "15067": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24195,
        24198
      ],
      "op": "DUP11",
      "path": "26"
    },
    "15068": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24075,
        24198
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3B14"
    },
    "15071": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24075,
        24198
      ],
      "op": "JUMP",
      "path": "26"
    },
    "15072": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24075,
        24198
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15073": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24107,
        24182
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3B14"
    },
    "15076": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24153,
        24160
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "15109": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24162,
        24168
      ],
      "op": "DUP10",
      "path": "26"
    },
    "15110": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24170,
        24174
      ],
      "op": "DUP15",
      "path": "26"
    },
    "15111": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24175,
        24176
      ],
      "op": "DUP14",
      "path": "26"
    },
    "15112": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24179,
        24180
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x2"
    },
    "15114": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24175,
        24180
      ],
      "op": "ADD",
      "path": "26"
    },
    "15115": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24170,
        24181
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15116": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24170,
        24181
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "15117": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24170,
        24181
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15118": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24170,
        24181
      ],
      "op": "LT",
      "path": "26"
    },
    "15119": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24170,
        24181
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3697"
    },
    "15122": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24170,
        24181
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "15123": {
      "dev": "Index out of range",
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24170,
        24181
      ],
      "op": "INVALID",
      "path": "26"
    },
    "15124": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24107,
        24182
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15125": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24244,
        24256
      ],
      "op": "PUSH1",
      "path": "26",
      "statement": 98,
      "value": "0x40"
    },
    "15127": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24244,
        24256
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15128": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24244,
        24256
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "15129": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24254,
        24255
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "15131": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24244,
        24256
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15132": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24244,
        24256
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15133": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24244,
        24256
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15134": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24244,
        24256
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "15136": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24244,
        24256
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15137": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24244,
        24256
      ],
      "op": "ADD",
      "path": "26"
    },
    "15138": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24244,
        24256
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "15139": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24244,
        24256
      ],
      "op": "DUP4",
      "path": "26"
    },
    "15140": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24244,
        24256
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15141": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24244,
        24256
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15142": {
      "op": "PUSH4",
      "value": "0x22C0D9F"
    },
    "15147": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "15149": {
      "op": "SHL"
    },
    "15150": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP4",
      "path": "26"
    },
    "15151": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15152": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "15154": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15155": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "ADD",
      "path": "26"
    },
    "15156": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP8",
      "path": "26"
    },
    "15157": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15158": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15159": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "15161": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP4",
      "path": "26"
    },
    "15162": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "ADD",
      "path": "26"
    },
    "15163": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP8",
      "path": "26"
    },
    "15164": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15165": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15166": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "15168": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "15170": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "15172": {
      "op": "SHL"
    },
    "15173": {
      "op": "SUB"
    },
    "15174": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15175": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP7",
      "path": "26"
    },
    "15176": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "AND",
      "path": "26"
    },
    "15177": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "15179": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP6",
      "path": "26"
    },
    "15180": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "ADD",
      "path": "26"
    },
    "15181": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15182": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x80"
    },
    "15184": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x84"
    },
    "15186": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP6",
      "path": "26"
    },
    "15187": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "ADD",
      "path": "26"
    },
    "15188": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15189": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15190": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15191": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP5",
      "path": "26"
    },
    "15192": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "15193": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xA4"
    },
    "15195": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP7",
      "path": "26"
    },
    "15196": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "ADD",
      "path": "26"
    },
    "15197": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15198": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15199": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15200": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24054,
        24198
      ],
      "op": "SWAP7",
      "path": "26"
    },
    "15201": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24054,
        24198
      ],
      "op": "SWAP8",
      "path": "26"
    },
    "15202": {
      "op": "POP"
    },
    "15203": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24215
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15204": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24215
      ],
      "op": "DUP13",
      "path": "26"
    },
    "15205": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24215
      ],
      "op": "AND",
      "path": "26"
    },
    "15206": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24215
      ],
      "op": "SWAP6",
      "path": "26"
    },
    "15207": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24215
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x22C0D9F"
    },
    "15212": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24215
      ],
      "op": "SWAP6",
      "path": "26"
    },
    "15213": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24216,
        24226
      ],
      "op": "DUP11",
      "path": "26"
    },
    "15214": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24216,
        24226
      ],
      "op": "SWAP6",
      "path": "26"
    },
    "15215": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24228,
        24238
      ],
      "op": "DUP11",
      "path": "26"
    },
    "15216": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24228,
        24238
      ],
      "op": "SWAP6",
      "path": "26"
    },
    "15217": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24054,
        24198
      ],
      "op": "DUP11",
      "path": "26"
    },
    "15218": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24054,
        24198
      ],
      "op": "SWAP6",
      "path": "26"
    },
    "15219": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24244,
        24256
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15220": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24244,
        24256
      ],
      "op": "SWAP5",
      "path": "26"
    },
    "15221": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15222": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "15223": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15224": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "15225": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xC4"
    },
    "15227": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP7",
      "path": "26"
    },
    "15228": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "ADD",
      "path": "26"
    },
    "15229": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "15230": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24244,
        24256
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15231": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24244,
        24256
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15232": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15233": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15234": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP5",
      "path": "26"
    },
    "15235": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15236": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24244,
        24256
      ],
      "op": "DUP5",
      "path": "26"
    },
    "15237": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24244,
        24256
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15238": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15239": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP4",
      "path": "26"
    },
    "15240": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15241": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "LT",
      "path": "26"
    },
    "15242": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "15243": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3B9E"
    },
    "15246": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "15247": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15248": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15249": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "ADD",
      "path": "26"
    },
    "15250": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "15251": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP4",
      "path": "26"
    },
    "15252": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15253": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "ADD",
      "path": "26"
    },
    "15254": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15255": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "15257": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "ADD",
      "path": "26"
    },
    "15258": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3B86"
    },
    "15261": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "JUMP",
      "path": "26"
    },
    "15262": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15263": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "POP",
      "path": "26"
    },
    "15264": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "POP",
      "path": "26"
    },
    "15265": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "POP",
      "path": "26"
    },
    "15266": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "POP",
      "path": "26"
    },
    "15267": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15268": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "POP",
      "path": "26"
    },
    "15269": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15270": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15271": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "ADD",
      "path": "26"
    },
    "15272": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15273": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1F"
    },
    "15275": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "AND",
      "path": "26"
    },
    "15276": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15277": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "15278": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3BCB"
    },
    "15281": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "15282": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15283": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15284": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "SUB",
      "path": "26"
    },
    "15285": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15286": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "15287": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "15289": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP4",
      "path": "26"
    },
    "15290": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "15292": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "SUB",
      "path": "26"
    },
    "15293": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x100"
    },
    "15296": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "EXP",
      "path": "26"
    },
    "15297": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "SUB",
      "path": "26"
    },
    "15298": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "NOT",
      "path": "26"
    },
    "15299": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "AND",
      "path": "26"
    },
    "15300": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15301": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15302": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "15304": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "ADD",
      "path": "26"
    },
    "15305": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15306": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "POP",
      "path": "26"
    },
    "15307": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15308": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "POP",
      "path": "26"
    },
    "15309": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "SWAP6",
      "path": "26"
    },
    "15310": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "POP",
      "path": "26"
    },
    "15311": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "POP",
      "path": "26"
    },
    "15312": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "POP",
      "path": "26"
    },
    "15313": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "POP",
      "path": "26"
    },
    "15314": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "POP",
      "path": "26"
    },
    "15315": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "POP",
      "path": "26"
    },
    "15316": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "15318": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "15320": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "15321": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15322": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP4",
      "path": "26"
    },
    "15323": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "SUB",
      "path": "26"
    },
    "15324": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15325": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "15327": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP8",
      "path": "26"
    },
    "15328": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15329": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "15330": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "15331": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15332": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "15333": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3BED"
    },
    "15336": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "15337": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "15339": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15340": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "REVERT",
      "path": "26"
    },
    "15341": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15342": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "POP",
      "path": "26"
    },
    "15343": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "GAS",
      "path": "26"
    },
    "15344": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "CALL",
      "path": "26"
    },
    "15345": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "15346": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15347": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "15348": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3C01"
    },
    "15351": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "15352": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "15353": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "15355": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15356": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "15357": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "15358": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "15360": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "REVERT",
      "path": "26"
    },
    "15361": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        24206,
        24257
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15362": {
      "op": "POP"
    },
    "15363": {
      "op": "POP"
    },
    "15364": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23044,
        23047
      ],
      "op": "PUSH1",
      "path": "26",
      "statement": 99,
      "value": "0x1"
    },
    "15366": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23044,
        23047
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15367": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23044,
        23047
      ],
      "op": "SWAP12",
      "path": "26"
    },
    "15368": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23044,
        23047
      ],
      "op": "ADD",
      "path": "26"
    },
    "15369": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23044,
        23047
      ],
      "op": "SWAP11",
      "path": "26"
    },
    "15370": {
      "op": "POP"
    },
    "15371": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23010,
        24264
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x391B"
    },
    "15374": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23010,
        24264
      ],
      "op": "SWAP10",
      "path": "26"
    },
    "15375": {
      "op": "POP"
    },
    "15376": {
      "op": "POP"
    },
    "15377": {
      "op": "POP"
    },
    "15378": {
      "op": "POP"
    },
    "15379": {
      "op": "POP"
    },
    "15380": {
      "op": "POP"
    },
    "15381": {
      "op": "POP"
    },
    "15382": {
      "op": "POP"
    },
    "15383": {
      "op": "POP"
    },
    "15384": {
      "op": "POP"
    },
    "15385": {
      "fn": "MockUniswapV2Router02._swapSupportingFeeOnTransferTokens",
      "offset": [
        23010,
        24264
      ],
      "op": "JUMP",
      "path": "26"
    },
    "15386": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28120,
        28241
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15387": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28199,
        28204
      ],
      "op": "DUP1",
      "path": "26",
      "statement": 100
    },
    "15388": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28199,
        28204
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15389": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28199,
        28204
      ],
      "op": "SUB",
      "path": "26"
    },
    "15390": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28194,
        28210
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15391": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28194,
        28210
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15392": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28194,
        28210
      ],
      "op": "GT",
      "path": "26"
    },
    "15393": {
      "branch": 160,
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28194,
        28210
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "15394": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1123"
    },
    "15397": {
      "branch": 160,
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "15398": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "15400": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15401": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "15402": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "15406": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "15408": {
      "op": "SHL"
    },
    "15409": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15410": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15411": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "15413": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "15415": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15416": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "ADD",
      "path": "26"
    },
    "15417": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15418": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x15"
    },
    "15420": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "15422": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15423": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "ADD",
      "path": "26"
    },
    "15424": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15425": {
      "op": "PUSH21",
      "value": "0x64732D6D6174682D7375622D756E646572666C6F77"
    },
    "15447": {
      "op": "PUSH1",
      "value": "0x58"
    },
    "15449": {
      "op": "SHL"
    },
    "15450": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "15452": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15453": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "ADD",
      "path": "26"
    },
    "15454": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15455": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15456": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "15457": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15458": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15459": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15460": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "SUB",
      "path": "26"
    },
    "15461": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "15463": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "ADD",
      "path": "26"
    },
    "15464": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15465": {
      "fn": "MockUniswapV2Router02SafeMath.sub",
      "offset": [
        28186,
        28236
      ],
      "op": "REVERT",
      "path": "26"
    },
    "15466": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31003,
        31523
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15467": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31112,
        31125
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "15469": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31153,
        31154
      ],
      "op": "DUP1",
      "path": "26",
      "statement": 101
    },
    "15470": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31141,
        31150
      ],
      "op": "DUP5",
      "path": "26"
    },
    "15471": {
      "branch": 161,
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31141,
        31154
      ],
      "op": "GT",
      "path": "26"
    },
    "15472": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3CAA"
    },
    "15475": {
      "branch": 161,
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "15476": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "15478": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "15479": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "15483": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "15485": {
      "op": "SHL"
    },
    "15486": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15487": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15488": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "15490": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "ADD",
      "path": "26"
    },
    "15491": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15492": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15493": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "15495": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "ADD",
      "path": "26"
    },
    "15496": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15497": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15498": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "SUB",
      "path": "26"
    },
    "15499": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15500": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15501": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x41"
    },
    "15503": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15504": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15505": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "15507": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "ADD",
      "path": "26"
    },
    "15508": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15509": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x44EA"
    },
    "15512": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x41"
    },
    "15514": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15515": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "15516": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "15518": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "ADD",
      "path": "26"
    },
    "15519": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15520": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "POP",
      "path": "26"
    },
    "15521": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "POP",
      "path": "26"
    },
    "15522": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "15524": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "15525": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15526": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15527": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "SUB",
      "path": "26"
    },
    "15528": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15529": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "REVERT",
      "path": "26"
    },
    "15530": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31133,
        31224
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15531": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31257,
        31258
      ],
      "op": "PUSH1",
      "path": "26",
      "statement": 102,
      "value": "0x0"
    },
    "15533": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31245,
        31254
      ],
      "op": "DUP4",
      "path": "26"
    },
    "15534": {
      "branch": 162,
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31245,
        31258
      ],
      "op": "GT",
      "path": "26"
    },
    "15535": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31245,
        31276
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15536": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31245,
        31276
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "15537": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31245,
        31276
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3CBA"
    },
    "15540": {
      "branch": 162,
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31245,
        31276
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "15541": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31245,
        31276
      ],
      "op": "POP",
      "path": "26"
    },
    "15542": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31275,
        31276
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "15544": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31262,
        31272
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15545": {
      "branch": 163,
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31262,
        31276
      ],
      "op": "GT",
      "path": "26"
    },
    "15546": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31245,
        31276
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15547": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3CF5"
    },
    "15550": {
      "branch": 163,
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "15551": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "15553": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "15554": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "15558": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "15560": {
      "op": "SHL"
    },
    "15561": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15562": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15563": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "15565": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "ADD",
      "path": "26"
    },
    "15566": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15567": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15568": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "15570": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "ADD",
      "path": "26"
    },
    "15571": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15572": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15573": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "SUB",
      "path": "26"
    },
    "15574": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15575": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15576": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x3D"
    },
    "15578": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15579": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15580": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "15582": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "ADD",
      "path": "26"
    },
    "15583": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15584": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x43C7"
    },
    "15587": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x3D"
    },
    "15589": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15590": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "15591": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "15593": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "ADD",
      "path": "26"
    },
    "15594": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15595": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "POP",
      "path": "26"
    },
    "15596": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "POP",
      "path": "26"
    },
    "15597": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "15599": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "15600": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15601": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15602": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "SUB",
      "path": "26"
    },
    "15603": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15604": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "REVERT",
      "path": "26"
    },
    "15605": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31230,
        31353
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15606": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31359,
        31373
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "15608": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31376,
        31410
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3D0D"
    },
    "15611": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31405,
        31409
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3E8"
    },
    "15614": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31376,
        31400
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3D07"
    },
    "15617": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31376,
        31385
      ],
      "op": "DUP7",
      "path": "26"
    },
    "15618": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31390,
        31399
      ],
      "op": "DUP9",
      "path": "26"
    },
    "15619": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31376,
        31389
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4141"
    },
    "15622": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "jump": "i",
      "offset": [
        31376,
        31400
      ],
      "op": "JUMP",
      "path": "26"
    },
    "15623": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31376,
        31400
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15624": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31376,
        31404
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15625": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31376,
        31404
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4141"
    },
    "15628": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "jump": "i",
      "offset": [
        31376,
        31410
      ],
      "op": "JUMP",
      "path": "26"
    },
    "15629": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31376,
        31410
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15630": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31359,
        31410
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15631": {
      "op": "POP"
    },
    "15632": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31416,
        31432
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "15634": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31435,
        31469
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3D21"
    },
    "15637": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31465,
        31468
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3E5"
    },
    "15640": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31435,
        31460
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3D07"
    },
    "15643": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31435,
        31445
      ],
      "op": "DUP7",
      "path": "26"
    },
    "15644": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31450,
        31459
      ],
      "op": "DUP10",
      "path": "26"
    },
    "15645": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31435,
        31449
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3C1A"
    },
    "15648": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "jump": "i",
      "offset": [
        31435,
        31460
      ],
      "op": "JUMP",
      "path": "26"
    },
    "15649": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31435,
        31469
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15650": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31416,
        31469
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15651": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31416,
        31469
      ],
      "op": "POP",
      "path": "26"
    },
    "15652": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31486,
        31518
      ],
      "op": "PUSH2",
      "path": "26",
      "statement": 103,
      "value": "0x3D38"
    },
    "15655": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31516,
        31517
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x1"
    },
    "15657": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31499,
        31510
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15658": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31487,
        31496
      ],
      "op": "DUP5",
      "path": "26"
    },
    "15659": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31487,
        31510
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15660": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31487,
        31510
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3D31"
    },
    "15663": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31487,
        31510
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "15664": {
      "dev": "Division by zero",
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31487,
        31510
      ],
      "op": "INVALID",
      "path": "26"
    },
    "15665": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31487,
        31510
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15666": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31487,
        31510
      ],
      "op": "DIV",
      "path": "26"
    },
    "15667": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31487,
        31510
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15668": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31486,
        31515
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x41A4"
    },
    "15671": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "jump": "i",
      "offset": [
        31486,
        31518
      ],
      "op": "JUMP",
      "path": "26"
    },
    "15672": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31486,
        31518
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15673": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31475,
        31518
      ],
      "op": "SWAP7",
      "path": "26"
    },
    "15674": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "offset": [
        31003,
        31523
      ],
      "op": "SWAP6",
      "path": "26"
    },
    "15675": {
      "op": "POP"
    },
    "15676": {
      "op": "POP"
    },
    "15677": {
      "op": "POP"
    },
    "15678": {
      "op": "POP"
    },
    "15679": {
      "op": "POP"
    },
    "15680": {
      "op": "POP"
    },
    "15681": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getAmountIn",
      "jump": "o",
      "offset": [
        31003,
        31523
      ],
      "op": "JUMP",
      "path": "26"
    },
    "15682": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29835,
        30214
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15683": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29933,
        29945
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "15685": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29971,
        29972
      ],
      "op": "DUP1",
      "path": "26",
      "statement": 104
    },
    "15686": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29961,
        29968
      ],
      "op": "DUP5",
      "path": "26"
    },
    "15687": {
      "branch": 164,
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29961,
        29972
      ],
      "op": "GT",
      "path": "26"
    },
    "15688": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3D82"
    },
    "15691": {
      "branch": 164,
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "15692": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "15694": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "15695": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "15699": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "15701": {
      "op": "SHL"
    },
    "15702": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15703": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15704": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "15706": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "ADD",
      "path": "26"
    },
    "15707": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15708": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15709": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "15711": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "ADD",
      "path": "26"
    },
    "15712": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15713": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15714": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "SUB",
      "path": "26"
    },
    "15715": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15716": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15717": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x3A"
    },
    "15719": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15720": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15721": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "15723": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "ADD",
      "path": "26"
    },
    "15724": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15725": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x438D"
    },
    "15728": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x3A"
    },
    "15730": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15731": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "15732": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "15734": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "ADD",
      "path": "26"
    },
    "15735": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15736": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "POP",
      "path": "26"
    },
    "15737": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "POP",
      "path": "26"
    },
    "15738": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "15740": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "15741": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15742": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15743": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "SUB",
      "path": "26"
    },
    "15744": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15745": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "REVERT",
      "path": "26"
    },
    "15746": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29953,
        30035
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15747": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30067,
        30068
      ],
      "op": "PUSH1",
      "path": "26",
      "statement": 105,
      "value": "0x0"
    },
    "15749": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30056,
        30064
      ],
      "op": "DUP4",
      "path": "26"
    },
    "15750": {
      "branch": 165,
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30056,
        30068
      ],
      "op": "GT",
      "path": "26"
    },
    "15751": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30056,
        30084
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15752": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30056,
        30084
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "15753": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30056,
        30084
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3D92"
    },
    "15756": {
      "branch": 165,
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30056,
        30084
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "15757": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30056,
        30084
      ],
      "op": "POP",
      "path": "26"
    },
    "15758": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30083,
        30084
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "15760": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30072,
        30080
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15761": {
      "branch": 166,
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30072,
        30084
      ],
      "op": "GT",
      "path": "26"
    },
    "15762": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30056,
        30084
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15763": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3DCD"
    },
    "15766": {
      "branch": 166,
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "15767": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "15769": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "15770": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "15774": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "15776": {
      "op": "SHL"
    },
    "15777": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15778": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15779": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "15781": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "ADD",
      "path": "26"
    },
    "15782": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15783": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15784": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "15786": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "ADD",
      "path": "26"
    },
    "15787": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15788": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15789": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "SUB",
      "path": "26"
    },
    "15790": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15791": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15792": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x3D"
    },
    "15794": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15795": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15796": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "15798": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "ADD",
      "path": "26"
    },
    "15799": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15800": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x43C7"
    },
    "15803": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x3D"
    },
    "15805": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15806": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "15807": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "15809": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "ADD",
      "path": "26"
    },
    "15810": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15811": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "POP",
      "path": "26"
    },
    "15812": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "POP",
      "path": "26"
    },
    "15813": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "15815": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "15816": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15817": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15818": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "SUB",
      "path": "26"
    },
    "15819": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15820": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "REVERT",
      "path": "26"
    },
    "15821": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30041,
        30161
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15822": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30201,
        30209
      ],
      "op": "DUP3",
      "path": "26",
      "statement": 106
    },
    "15823": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30177,
        30198
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3DD8"
    },
    "15826": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30177,
        30184
      ],
      "op": "DUP6",
      "path": "26"
    },
    "15827": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30189,
        30197
      ],
      "op": "DUP5",
      "path": "26"
    },
    "15828": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30177,
        30188
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4141"
    },
    "15831": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "jump": "i",
      "offset": [
        30177,
        30198
      ],
      "op": "JUMP",
      "path": "26"
    },
    "15832": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30177,
        30198
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15833": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30177,
        30209
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15834": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30177,
        30209
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3DDF"
    },
    "15837": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30177,
        30209
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "15838": {
      "dev": "Division by zero",
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30177,
        30209
      ],
      "op": "INVALID",
      "path": "26"
    },
    "15839": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30177,
        30209
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15840": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30177,
        30209
      ],
      "op": "DIV",
      "path": "26"
    },
    "15841": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        30177,
        30209
      ],
      "op": "SWAP5",
      "path": "26"
    },
    "15842": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "offset": [
        29835,
        30214
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "15843": {
      "op": "POP"
    },
    "15844": {
      "op": "POP"
    },
    "15845": {
      "op": "POP"
    },
    "15846": {
      "op": "POP"
    },
    "15847": {
      "fn": "MockUniswapV2Router02UniswapV2Library.quote",
      "jump": "o",
      "offset": [
        29835,
        30214
      ],
      "op": "JUMP",
      "path": "26"
    },
    "15848": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28580,
        28967
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15849": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28667,
        28681
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "15851": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28683,
        28697
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15852": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28725,
        28731
      ],
      "op": "DUP3",
      "path": "26",
      "statement": 107
    },
    "15853": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "15855": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "15857": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "15859": {
      "op": "SHL"
    },
    "15860": {
      "op": "SUB"
    },
    "15861": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28715,
        28731
      ],
      "op": "AND",
      "path": "26"
    },
    "15862": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28715,
        28721
      ],
      "op": "DUP5",
      "path": "26"
    },
    "15863": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "15865": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "15867": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "15869": {
      "op": "SHL"
    },
    "15870": {
      "op": "SUB"
    },
    "15871": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28715,
        28731
      ],
      "op": "AND",
      "path": "26"
    },
    "15872": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28715,
        28731
      ],
      "op": "EQ",
      "path": "26"
    },
    "15873": {
      "branch": 167,
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28715,
        28731
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "15874": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3E3C"
    },
    "15877": {
      "branch": 167,
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "15878": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "15880": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "15881": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "15885": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "15887": {
      "op": "SHL"
    },
    "15888": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15889": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15890": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "15892": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "ADD",
      "path": "26"
    },
    "15893": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15894": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15895": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "15897": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "ADD",
      "path": "26"
    },
    "15898": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15899": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15900": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "SUB",
      "path": "26"
    },
    "15901": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15902": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15903": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x3A"
    },
    "15905": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15906": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15907": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "15909": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "ADD",
      "path": "26"
    },
    "15910": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15911": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x457C"
    },
    "15914": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x3A"
    },
    "15916": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15917": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "15918": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "15920": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "ADD",
      "path": "26"
    },
    "15921": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15922": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "POP",
      "path": "26"
    },
    "15923": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "POP",
      "path": "26"
    },
    "15924": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "15926": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "15927": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "DUP1",
      "path": "26"
    },
    "15928": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "15929": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "SUB",
      "path": "26"
    },
    "15930": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15931": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "REVERT",
      "path": "26"
    },
    "15932": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28707,
        28794
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15933": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28828,
        28834
      ],
      "op": "DUP3",
      "path": "26",
      "statement": 108
    },
    "15934": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "15936": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "15938": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "15940": {
      "op": "SHL"
    },
    "15941": {
      "op": "SUB"
    },
    "15942": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28819,
        28834
      ],
      "op": "AND",
      "path": "26"
    },
    "15943": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28819,
        28825
      ],
      "op": "DUP5",
      "path": "26"
    },
    "15944": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "15946": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "15948": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "15950": {
      "op": "SHL"
    },
    "15951": {
      "op": "SUB"
    },
    "15952": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28819,
        28834
      ],
      "op": "AND",
      "path": "26"
    },
    "15953": {
      "branch": 168,
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28819,
        28834
      ],
      "op": "LT",
      "path": "26"
    },
    "15954": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28819,
        28872
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3E5C"
    },
    "15957": {
      "branch": 168,
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28819,
        28872
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "15958": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28857,
        28863
      ],
      "op": "DUP3",
      "path": "26"
    },
    "15959": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28865,
        28871
      ],
      "op": "DUP5",
      "path": "26"
    },
    "15960": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28819,
        28872
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3E5F"
    },
    "15963": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28819,
        28872
      ],
      "op": "JUMP",
      "path": "26"
    },
    "15964": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28819,
        28872
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15965": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28838,
        28844
      ],
      "op": "DUP4",
      "path": "26"
    },
    "15966": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28846,
        28852
      ],
      "op": "DUP4",
      "path": "26"
    },
    "15967": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28819,
        28872
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "15968": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28800,
        28872
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15969": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28800,
        28872
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "15970": {
      "op": "POP"
    },
    "15971": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28800,
        28872
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "15972": {
      "op": "POP"
    },
    "15973": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "15975": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "15977": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "15979": {
      "op": "SHL"
    },
    "15980": {
      "op": "SUB"
    },
    "15981": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28886,
        28906
      ],
      "op": "DUP3",
      "path": "26",
      "statement": 109
    },
    "15982": {
      "branch": 169,
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28886,
        28906
      ],
      "op": "AND",
      "path": "26"
    },
    "15983": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3EA9"
    },
    "15986": {
      "branch": 169,
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "15987": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "15989": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "15990": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "15994": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "15996": {
      "op": "SHL"
    },
    "15997": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "DUP2",
      "path": "26"
    },
    "15998": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "15999": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "16001": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "ADD",
      "path": "26"
    },
    "16002": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16003": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16004": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "16006": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "ADD",
      "path": "26"
    },
    "16007": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "DUP3",
      "path": "26"
    },
    "16008": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16009": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "SUB",
      "path": "26"
    },
    "16010": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "DUP3",
      "path": "26"
    },
    "16011": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16012": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x33"
    },
    "16014": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16015": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16016": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "16018": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "ADD",
      "path": "26"
    },
    "16019": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16020": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x44B7"
    },
    "16023": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x33"
    },
    "16025": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "16026": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "16027": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "16029": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "ADD",
      "path": "26"
    },
    "16030": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "16031": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "POP",
      "path": "26"
    },
    "16032": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "POP",
      "path": "26"
    },
    "16033": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "16035": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "16036": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16037": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "16038": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "SUB",
      "path": "26"
    },
    "16039": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "16040": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "REVERT",
      "path": "26"
    },
    "16041": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28878,
        28962
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16042": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28580,
        28967
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "16043": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28580,
        28967
      ],
      "op": "POP",
      "path": "26"
    },
    "16044": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28580,
        28967
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "16045": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28580,
        28967
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "16046": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "offset": [
        28580,
        28967
      ],
      "op": "POP",
      "path": "26"
    },
    "16047": {
      "fn": "MockUniswapV2Router02UniswapV2Library.sortTokens",
      "jump": "o",
      "offset": [
        28580,
        28967
      ],
      "op": "JUMP",
      "path": "26"
    },
    "16048": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9296,
        10648
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16049": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9481,
        9493
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16051": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9495,
        9507
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16052": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9649,
        9650
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16054": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "16056": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "16058": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "16060": {
      "op": "SHL"
    },
    "16061": {
      "op": "SUB"
    },
    "16062": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9651
      ],
      "op": "AND",
      "path": "26"
    },
    "16063": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9605,
        9612
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "16096": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "16098": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "16100": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "16102": {
      "op": "SHL"
    },
    "16103": {
      "op": "SUB"
    },
    "16104": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9621
      ],
      "op": "AND",
      "path": "26"
    },
    "16105": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9621
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xE6A43905"
    },
    "16110": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9622,
        9628
      ],
      "op": "DUP11",
      "path": "26"
    },
    "16111": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9630,
        9636
      ],
      "op": "DUP11",
      "path": "26"
    },
    "16112": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "16114": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "16115": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "DUP4",
      "path": "26"
    },
    "16116": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "16121": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "AND",
      "path": "26"
    },
    "16122": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "16124": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "SHL",
      "path": "26"
    },
    "16125": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16126": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16127": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "16129": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "ADD",
      "path": "26"
    },
    "16130": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16131": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "DUP4",
      "path": "26"
    },
    "16132": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "16134": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "16136": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "16138": {
      "op": "SHL"
    },
    "16139": {
      "op": "SUB"
    },
    "16140": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "AND",
      "path": "26"
    },
    "16141": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16142": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16143": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "16145": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "ADD",
      "path": "26"
    },
    "16146": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "DUP3",
      "path": "26"
    },
    "16147": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "16149": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "16151": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "16153": {
      "op": "SHL"
    },
    "16154": {
      "op": "SUB"
    },
    "16155": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "AND",
      "path": "26"
    },
    "16156": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16157": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16158": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "16160": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "ADD",
      "path": "26"
    },
    "16161": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "16162": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "POP",
      "path": "26"
    },
    "16163": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "POP",
      "path": "26"
    },
    "16164": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "POP",
      "path": "26"
    },
    "16165": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "16167": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "16169": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "16170": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16171": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "DUP4",
      "path": "26"
    },
    "16172": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "SUB",
      "path": "26"
    },
    "16173": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16174": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "DUP7",
      "path": "26"
    },
    "16175": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16176": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "16177": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16178": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16179": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16180": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3F3C"
    },
    "16183": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "16184": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16186": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16187": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "REVERT",
      "path": "26"
    },
    "16188": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16189": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "POP",
      "path": "26"
    },
    "16190": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "GAS",
      "path": "26"
    },
    "16191": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "STATICCALL",
      "path": "26"
    },
    "16192": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16193": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16194": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16195": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3F50"
    },
    "16198": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "16199": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "16200": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16202": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16203": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "16204": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "16205": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16207": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "REVERT",
      "path": "26"
    },
    "16208": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16209": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "POP",
      "path": "26"
    },
    "16210": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "POP",
      "path": "26"
    },
    "16211": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "POP",
      "path": "26"
    },
    "16212": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "POP",
      "path": "26"
    },
    "16213": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "16215": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "16216": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "16217": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "16219": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16220": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "LT",
      "path": "26"
    },
    "16221": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16222": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3F66"
    },
    "16225": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "16226": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16228": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16229": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "REVERT",
      "path": "26"
    },
    "16230": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16231": {
      "op": "POP"
    },
    "16232": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9637
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "16233": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "16235": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "16237": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "16239": {
      "op": "SHL"
    },
    "16240": {
      "op": "SUB"
    },
    "16241": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9651
      ],
      "op": "AND",
      "path": "26"
    },
    "16242": {
      "branch": 170,
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9566,
        9651
      ],
      "op": "EQ",
      "path": "26"
    },
    "16243": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9562,
        9742
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16244": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9562,
        9742
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4024"
    },
    "16247": {
      "branch": 170,
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9562,
        9742
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "16248": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9700,
        9707
      ],
      "op": "PUSH32",
      "path": "26",
      "statement": 110,
      "value": "0x0"
    },
    "16281": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "16283": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "16285": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "16287": {
      "op": "SHL"
    },
    "16288": {
      "op": "SUB"
    },
    "16289": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9719
      ],
      "op": "AND",
      "path": "26"
    },
    "16290": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9719
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xC9C65396"
    },
    "16295": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9720,
        9726
      ],
      "op": "DUP10",
      "path": "26"
    },
    "16296": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9728,
        9734
      ],
      "op": "DUP10",
      "path": "26"
    },
    "16297": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "16299": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "16300": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "DUP4",
      "path": "26"
    },
    "16301": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "16306": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "AND",
      "path": "26"
    },
    "16307": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "16309": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "SHL",
      "path": "26"
    },
    "16310": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16311": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16312": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "16314": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "ADD",
      "path": "26"
    },
    "16315": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16316": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "DUP4",
      "path": "26"
    },
    "16317": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "16319": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "16321": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "16323": {
      "op": "SHL"
    },
    "16324": {
      "op": "SUB"
    },
    "16325": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "AND",
      "path": "26"
    },
    "16326": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16327": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16328": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "16330": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "ADD",
      "path": "26"
    },
    "16331": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "DUP3",
      "path": "26"
    },
    "16332": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "16334": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "16336": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "16338": {
      "op": "SHL"
    },
    "16339": {
      "op": "SUB"
    },
    "16340": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "AND",
      "path": "26"
    },
    "16341": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16342": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16343": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "16345": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "ADD",
      "path": "26"
    },
    "16346": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "16347": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "POP",
      "path": "26"
    },
    "16348": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "POP",
      "path": "26"
    },
    "16349": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "POP",
      "path": "26"
    },
    "16350": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "16352": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "16354": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "16355": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16356": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "DUP4",
      "path": "26"
    },
    "16357": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "SUB",
      "path": "26"
    },
    "16358": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16359": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16361": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "DUP8",
      "path": "26"
    },
    "16362": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16363": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "16364": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16365": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16366": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16367": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3FF7"
    },
    "16370": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "16371": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16373": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16374": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "REVERT",
      "path": "26"
    },
    "16375": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16376": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "POP",
      "path": "26"
    },
    "16377": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "GAS",
      "path": "26"
    },
    "16378": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "CALL",
      "path": "26"
    },
    "16379": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16380": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16381": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16382": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x400B"
    },
    "16385": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "16386": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "16387": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16389": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16390": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "16391": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "16392": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16394": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "REVERT",
      "path": "26"
    },
    "16395": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16396": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "POP",
      "path": "26"
    },
    "16397": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "POP",
      "path": "26"
    },
    "16398": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "POP",
      "path": "26"
    },
    "16399": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "POP",
      "path": "26"
    },
    "16400": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "16402": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "16403": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "16404": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "16406": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16407": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "LT",
      "path": "26"
    },
    "16408": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16409": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4021"
    },
    "16412": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "16413": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16415": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16416": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "REVERT",
      "path": "26"
    },
    "16417": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9661,
        9735
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16418": {
      "op": "POP"
    },
    "16419": {
      "op": "POP"
    },
    "16420": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9562,
        9742
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16421": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9748,
        9761
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16423": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9763,
        9776
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16424": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9786,
        9860
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4052"
    },
    "16427": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9836,
        9843
      ],
      "op": "PUSH32",
      "path": "26",
      "value": "0x0"
    },
    "16460": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9845,
        9851
      ],
      "op": "DUP12",
      "path": "26"
    },
    "16461": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9853,
        9859
      ],
      "op": "DUP12",
      "path": "26"
    },
    "16462": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9786,
        9835
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x41F3"
    },
    "16465": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "jump": "i",
      "offset": [
        9786,
        9860
      ],
      "op": "JUMP",
      "path": "26"
    },
    "16466": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9786,
        9860
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16467": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9747,
        9860
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "16468": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9747,
        9860
      ],
      "op": "POP",
      "path": "26"
    },
    "16469": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9747,
        9860
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "16470": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9747,
        9860
      ],
      "op": "POP",
      "path": "26"
    },
    "16471": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9870,
        9878
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16472": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9882,
        9883
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16474": {
      "branch": 171,
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9870,
        9883
      ],
      "op": "EQ",
      "path": "26"
    },
    "16475": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9870,
        9900
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16476": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9870,
        9900
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16477": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9870,
        9900
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4064"
    },
    "16480": {
      "branch": 171,
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9870,
        9900
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "16481": {
      "op": "POP"
    },
    "16482": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9887,
        9900
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16483": {
      "branch": 172,
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9887,
        9900
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16484": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9870,
        9900
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16485": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9866,
        10644
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16486": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9866,
        10644
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4074"
    },
    "16489": {
      "branch": 172,
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9866,
        10644
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "16490": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9932,
        9946
      ],
      "op": "DUP8",
      "path": "26",
      "statement": 111
    },
    "16491": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9932,
        9946
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "16492": {
      "op": "POP"
    },
    "16493": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9948,
        9962
      ],
      "op": "DUP7",
      "path": "26"
    },
    "16494": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9948,
        9962
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "16495": {
      "op": "POP"
    },
    "16496": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9866,
        10644
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4134"
    },
    "16499": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9866,
        10644
      ],
      "op": "JUMP",
      "path": "26"
    },
    "16500": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9866,
        10644
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16501": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9984,
        10003
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16503": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10014,
        10093
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4081"
    },
    "16506": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10058,
        10072
      ],
      "op": "DUP10",
      "path": "26"
    },
    "16507": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10074,
        10082
      ],
      "op": "DUP5",
      "path": "26"
    },
    "16508": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10084,
        10092
      ],
      "op": "DUP5",
      "path": "26"
    },
    "16509": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10014,
        10057
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3D42"
    },
    "16512": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "jump": "i",
      "offset": [
        10014,
        10093
      ],
      "op": "JUMP",
      "path": "26"
    },
    "16513": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10014,
        10093
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16514": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9984,
        10093
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "16515": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9984,
        10093
      ],
      "op": "POP",
      "path": "26"
    },
    "16516": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10123,
        10137
      ],
      "op": "DUP8",
      "path": "26"
    },
    "16517": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10105,
        10119
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16518": {
      "branch": 173,
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10105,
        10137
      ],
      "op": "GT",
      "path": "26"
    },
    "16519": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10101,
        10638
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x40D4"
    },
    "16522": {
      "branch": 173,
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10101,
        10638
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "16523": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10175,
        10185
      ],
      "op": "DUP6",
      "path": "26",
      "statement": 112
    },
    "16524": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10157,
        10171
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16525": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10157,
        10185
      ],
      "op": "LT",
      "path": "26"
    },
    "16526": {
      "branch": 174,
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10157,
        10185
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16527": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x40C9"
    },
    "16530": {
      "branch": 174,
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "16531": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "16533": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "16534": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "16538": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "16540": {
      "op": "SHL"
    },
    "16541": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16542": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16543": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "16545": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "ADD",
      "path": "26"
    },
    "16546": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16547": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16548": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "16550": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "ADD",
      "path": "26"
    },
    "16551": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "DUP3",
      "path": "26"
    },
    "16552": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16553": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "SUB",
      "path": "26"
    },
    "16554": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "DUP3",
      "path": "26"
    },
    "16555": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16556": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x26"
    },
    "16558": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16559": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16560": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "16562": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "ADD",
      "path": "26"
    },
    "16563": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16564": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4367"
    },
    "16567": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x26"
    },
    "16569": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "16570": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "16571": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "16573": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "ADD",
      "path": "26"
    },
    "16574": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "16575": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "POP",
      "path": "26"
    },
    "16576": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "POP",
      "path": "26"
    },
    "16577": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "16579": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "16580": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16581": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "16582": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "SUB",
      "path": "26"
    },
    "16583": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "16584": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "REVERT",
      "path": "26"
    },
    "16585": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10149,
        10228
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16586": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10260,
        10274
      ],
      "op": "DUP9",
      "path": "26",
      "statement": 113
    },
    "16587": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10260,
        10274
      ],
      "op": "SWAP5",
      "path": "26"
    },
    "16588": {
      "op": "POP"
    },
    "16589": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10276,
        10290
      ],
      "op": "SWAP3",
      "path": "26"
    },
    "16590": {
      "op": "POP"
    },
    "16591": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10276,
        10290
      ],
      "op": "DUP3",
      "path": "26"
    },
    "16592": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10101,
        10638
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4132"
    },
    "16595": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10101,
        10638
      ],
      "op": "JUMP",
      "path": "26"
    },
    "16596": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10101,
        10638
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16597": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10316,
        10335
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16599": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10348,
        10427
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x40E1"
    },
    "16602": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10392,
        10406
      ],
      "op": "DUP10",
      "path": "26"
    },
    "16603": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10408,
        10416
      ],
      "op": "DUP5",
      "path": "26"
    },
    "16604": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10418,
        10426
      ],
      "op": "DUP7",
      "path": "26"
    },
    "16605": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10348,
        10391
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3D42"
    },
    "16608": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "jump": "i",
      "offset": [
        10348,
        10427
      ],
      "op": "JUMP",
      "path": "26"
    },
    "16609": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10348,
        10427
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16610": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10316,
        10427
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "16611": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10316,
        10427
      ],
      "op": "POP",
      "path": "26"
    },
    "16612": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10462,
        10476
      ],
      "op": "DUP10",
      "path": "26",
      "statement": 114
    },
    "16613": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10444,
        10458
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16614": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10444,
        10476
      ],
      "op": "GT",
      "path": "26"
    },
    "16615": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10444,
        10476
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16616": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10437,
        10477
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x40ED"
    },
    "16619": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10437,
        10477
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "16620": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10437,
        10477
      ],
      "op": "INVALID",
      "path": "26"
    },
    "16621": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10437,
        10477
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16622": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10513,
        10523
      ],
      "op": "DUP8",
      "path": "26",
      "statement": 115
    },
    "16623": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10495,
        10509
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16624": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10495,
        10523
      ],
      "op": "LT",
      "path": "26"
    },
    "16625": {
      "branch": 175,
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10495,
        10523
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16626": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x412C"
    },
    "16629": {
      "branch": 175,
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "16630": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "16632": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "16633": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "16637": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "16639": {
      "op": "SHL"
    },
    "16640": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16641": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16642": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "16644": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "ADD",
      "path": "26"
    },
    "16645": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16646": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16647": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "16649": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "ADD",
      "path": "26"
    },
    "16650": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "DUP3",
      "path": "26"
    },
    "16651": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16652": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "SUB",
      "path": "26"
    },
    "16653": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "DUP3",
      "path": "26"
    },
    "16654": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16655": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x26"
    },
    "16657": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16658": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16659": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "16661": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "ADD",
      "path": "26"
    },
    "16662": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16663": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x452B"
    },
    "16666": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x26"
    },
    "16668": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "16669": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "CODECOPY",
      "path": "26"
    },
    "16670": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "16672": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "ADD",
      "path": "26"
    },
    "16673": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "16674": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "POP",
      "path": "26"
    },
    "16675": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "POP",
      "path": "26"
    },
    "16676": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "16678": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "16679": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16680": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "16681": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "SUB",
      "path": "26"
    },
    "16682": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "16683": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "REVERT",
      "path": "26"
    },
    "16684": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10487,
        10566
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16685": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10598,
        10612
      ],
      "op": "SWAP5",
      "path": "26",
      "statement": 116
    },
    "16686": {
      "op": "POP"
    },
    "16687": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10614,
        10628
      ],
      "op": "DUP8",
      "path": "26"
    },
    "16688": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10614,
        10628
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "16689": {
      "op": "POP"
    },
    "16690": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        10101,
        10638
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16691": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9866,
        10644
      ],
      "op": "POP",
      "path": "26"
    },
    "16692": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9866,
        10644
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16693": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9296,
        10648
      ],
      "op": "POP",
      "path": "26"
    },
    "16694": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9296,
        10648
      ],
      "op": "POP",
      "path": "26"
    },
    "16695": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9296,
        10648
      ],
      "op": "SWAP7",
      "path": "26"
    },
    "16696": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9296,
        10648
      ],
      "op": "POP",
      "path": "26"
    },
    "16697": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9296,
        10648
      ],
      "op": "SWAP7",
      "path": "26"
    },
    "16698": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9296,
        10648
      ],
      "op": "SWAP5",
      "path": "26"
    },
    "16699": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9296,
        10648
      ],
      "op": "POP",
      "path": "26"
    },
    "16700": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9296,
        10648
      ],
      "op": "POP",
      "path": "26"
    },
    "16701": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9296,
        10648
      ],
      "op": "POP",
      "path": "26"
    },
    "16702": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9296,
        10648
      ],
      "op": "POP",
      "path": "26"
    },
    "16703": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "offset": [
        9296,
        10648
      ],
      "op": "POP",
      "path": "26"
    },
    "16704": {
      "fn": "MockUniswapV2Router02._addLiquidity",
      "jump": "o",
      "offset": [
        9296,
        10648
      ],
      "op": "JUMP",
      "path": "26"
    },
    "16705": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28245,
        28379
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16706": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28297,
        28303
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16708": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28319,
        28325
      ],
      "op": "DUP2",
      "path": "26",
      "statement": 117
    },
    "16709": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28319,
        28325
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16710": {
      "branch": 176,
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28319,
        28325
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16711": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28319,
        28349
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x415C"
    },
    "16714": {
      "branch": 176,
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28319,
        28349
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "16715": {
      "op": "POP"
    },
    "16716": {
      "op": "POP"
    },
    "16717": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28334,
        28339
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16718": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28334,
        28339
      ],
      "op": "DUP3",
      "path": "26"
    },
    "16719": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28334,
        28339
      ],
      "op": "MUL",
      "path": "26"
    },
    "16720": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28348,
        28349
      ],
      "op": "DUP3",
      "path": "26"
    },
    "16721": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28343,
        28344
      ],
      "op": "DUP3",
      "path": "26"
    },
    "16722": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28334,
        28339
      ],
      "op": "DUP3",
      "path": "26"
    },
    "16723": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28343,
        28344
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16724": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28329,
        28344
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4159"
    },
    "16727": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28329,
        28344
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "16728": {
      "dev": "Division by zero",
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28329,
        28344
      ],
      "op": "INVALID",
      "path": "26"
    },
    "16729": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28329,
        28344
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16730": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28329,
        28344
      ],
      "op": "DIV",
      "path": "26"
    },
    "16731": {
      "branch": 177,
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28329,
        28349
      ],
      "op": "EQ",
      "path": "26"
    },
    "16732": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28319,
        28349
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16733": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1123"
    },
    "16736": {
      "branch": 177,
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "16737": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "16739": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16740": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "16741": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "16745": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "16747": {
      "op": "SHL"
    },
    "16748": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16749": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16750": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "16752": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "16754": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "DUP3",
      "path": "26"
    },
    "16755": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "ADD",
      "path": "26"
    },
    "16756": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16757": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x14"
    },
    "16759": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "16761": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "DUP3",
      "path": "26"
    },
    "16762": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "ADD",
      "path": "26"
    },
    "16763": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16764": {
      "op": "PUSH20",
      "value": "0x64732D6D6174682D6D756C2D6F766572666C6F77"
    },
    "16785": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "16787": {
      "op": "SHL"
    },
    "16788": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "16790": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "DUP3",
      "path": "26"
    },
    "16791": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "ADD",
      "path": "26"
    },
    "16792": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16793": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "16794": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "16795": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "16796": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16797": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "16798": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "SUB",
      "path": "26"
    },
    "16799": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "16801": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "ADD",
      "path": "26"
    },
    "16802": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "16803": {
      "fn": "MockUniswapV2Router02SafeMath.mul",
      "offset": [
        28311,
        28374
      ],
      "op": "REVERT",
      "path": "26"
    },
    "16804": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        27996,
        28116
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16805": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28075,
        28080
      ],
      "op": "DUP1",
      "path": "26",
      "statement": 118
    },
    "16806": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28075,
        28080
      ],
      "op": "DUP3",
      "path": "26"
    },
    "16807": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28075,
        28080
      ],
      "op": "ADD",
      "path": "26"
    },
    "16808": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28070,
        28086
      ],
      "op": "DUP3",
      "path": "26"
    },
    "16809": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28070,
        28086
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16810": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28070,
        28086
      ],
      "op": "LT",
      "path": "26"
    },
    "16811": {
      "branch": 178,
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28070,
        28086
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16812": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x1123"
    },
    "16815": {
      "branch": 178,
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "16816": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "16818": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16819": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "16820": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "16824": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "16826": {
      "op": "SHL"
    },
    "16827": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16828": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16829": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "16831": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "16833": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "DUP3",
      "path": "26"
    },
    "16834": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "ADD",
      "path": "26"
    },
    "16835": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16836": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x14"
    },
    "16838": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x24"
    },
    "16840": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "DUP3",
      "path": "26"
    },
    "16841": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "ADD",
      "path": "26"
    },
    "16842": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16843": {
      "op": "PUSH20",
      "value": "0x64732D6D6174682D6164642D6F766572666C6F77"
    },
    "16864": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "16866": {
      "op": "SHL"
    },
    "16867": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x44"
    },
    "16869": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "DUP3",
      "path": "26"
    },
    "16870": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "ADD",
      "path": "26"
    },
    "16871": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16872": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "16873": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "16874": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "16875": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16876": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "16877": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "SUB",
      "path": "26"
    },
    "16878": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x64"
    },
    "16880": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "ADD",
      "path": "26"
    },
    "16881": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "16882": {
      "fn": "MockUniswapV2Router02SafeMath.add",
      "offset": [
        28062,
        28111
      ],
      "op": "REVERT",
      "path": "26"
    },
    "16883": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29311,
        29729
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16884": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29420,
        29433
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16886": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29435,
        29448
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16887": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29457,
        29471
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16889": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29477,
        29503
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4202"
    },
    "16892": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29488,
        29494
      ],
      "op": "DUP6",
      "path": "26"
    },
    "16893": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29496,
        29502
      ],
      "op": "DUP6",
      "path": "26"
    },
    "16894": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29477,
        29487
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x3DE8"
    },
    "16897": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "jump": "i",
      "offset": [
        29477,
        29503
      ],
      "op": "JUMP",
      "path": "26"
    },
    "16898": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29477,
        29503
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16899": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29456,
        29503
      ],
      "op": "POP",
      "path": "26"
    },
    "16900": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29456,
        29503
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "16901": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29456,
        29503
      ],
      "op": "POP",
      "path": "26"
    },
    "16902": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29510,
        29523
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16904": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29525,
        29538
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16905": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29586,
        29618
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4213"
    },
    "16908": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29594,
        29601
      ],
      "op": "DUP9",
      "path": "26"
    },
    "16909": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29603,
        29609
      ],
      "op": "DUP9",
      "path": "26"
    },
    "16910": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29611,
        29617
      ],
      "op": "DUP9",
      "path": "26"
    },
    "16911": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29586,
        29593
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x33C8"
    },
    "16914": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "jump": "i",
      "offset": [
        29586,
        29618
      ],
      "op": "JUMP",
      "path": "26"
    },
    "16915": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29586,
        29618
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16916": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "16918": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "16920": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "16922": {
      "op": "SHL"
    },
    "16923": {
      "op": "SUB"
    },
    "16924": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29631
      ],
      "op": "AND",
      "path": "26"
    },
    "16925": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29631
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0x902F1AC"
    },
    "16930": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "16932": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "16933": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16934": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "PUSH4",
      "path": "26",
      "value": "0xFFFFFFFF"
    },
    "16939": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "AND",
      "path": "26"
    },
    "16940": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0xE0"
    },
    "16942": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "SHL",
      "path": "26"
    },
    "16943": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16944": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "MSTORE",
      "path": "26"
    },
    "16945": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x4"
    },
    "16947": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "ADD",
      "path": "26"
    },
    "16948": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "16950": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "16952": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "16953": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16954": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "DUP4",
      "path": "26"
    },
    "16955": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "SUB",
      "path": "26"
    },
    "16956": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "DUP2",
      "path": "26"
    },
    "16957": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "DUP7",
      "path": "26"
    },
    "16958": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16959": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "EXTCODESIZE",
      "path": "26"
    },
    "16960": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16961": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16962": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16963": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x424B"
    },
    "16966": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "16967": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16969": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16970": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "REVERT",
      "path": "26"
    },
    "16971": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16972": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "POP",
      "path": "26"
    },
    "16973": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "GAS",
      "path": "26"
    },
    "16974": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "STATICCALL",
      "path": "26"
    },
    "16975": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16976": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16977": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "16978": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x425F"
    },
    "16981": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "16982": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "16983": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16985": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "DUP1",
      "path": "26"
    },
    "16986": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "RETURNDATACOPY",
      "path": "26"
    },
    "16987": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "16988": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "16990": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "REVERT",
      "path": "26"
    },
    "16991": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "16992": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "POP",
      "path": "26"
    },
    "16993": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "POP",
      "path": "26"
    },
    "16994": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "POP",
      "path": "26"
    },
    "16995": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "POP",
      "path": "26"
    },
    "16996": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x40"
    },
    "16998": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "16999": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "RETURNDATASIZE",
      "path": "26"
    },
    "17000": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x60"
    },
    "17002": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "DUP2",
      "path": "26"
    },
    "17003": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "LT",
      "path": "26"
    },
    "17004": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "ISZERO",
      "path": "26"
    },
    "17005": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x4275"
    },
    "17008": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "17009": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x0"
    },
    "17011": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "DUP1",
      "path": "26"
    },
    "17012": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "REVERT",
      "path": "26"
    },
    "17013": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "17014": {
      "op": "POP"
    },
    "17015": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "DUP1",
      "path": "26"
    },
    "17016": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "17017": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "PUSH1",
      "path": "26",
      "value": "0x20"
    },
    "17019": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "17020": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "17021": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "ADD",
      "path": "26"
    },
    "17022": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29550,
        29633
      ],
      "op": "MLOAD",
      "path": "26"
    },
    "17023": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "17025": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "17027": {
      "op": "PUSH1",
      "value": "0x70"
    },
    "17029": {
      "op": "SHL"
    },
    "17030": {
      "op": "SUB"
    },
    "17031": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29509,
        29633
      ],
      "op": "SWAP2",
      "path": "26"
    },
    "17032": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29509,
        29633
      ],
      "op": "DUP3",
      "path": "26"
    },
    "17033": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29509,
        29633
      ],
      "op": "AND",
      "path": "26"
    },
    "17034": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29509,
        29633
      ],
      "op": "SWAP4",
      "path": "26"
    },
    "17035": {
      "op": "POP"
    },
    "17036": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29509,
        29633
      ],
      "op": "AND",
      "path": "26"
    },
    "17037": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29509,
        29633
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "17038": {
      "op": "POP"
    },
    "17039": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "17041": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "17043": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "17045": {
      "op": "SHL"
    },
    "17046": {
      "op": "SUB"
    },
    "17047": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29662,
        29678
      ],
      "op": "DUP8",
      "path": "26",
      "statement": 119
    },
    "17048": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29662,
        29678
      ],
      "op": "DUP2",
      "path": "26"
    },
    "17049": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29662,
        29678
      ],
      "op": "AND",
      "path": "26"
    },
    "17050": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29662,
        29678
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "17051": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29662,
        29678
      ],
      "op": "DUP5",
      "path": "26"
    },
    "17052": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29662,
        29678
      ],
      "op": "AND",
      "path": "26"
    },
    "17053": {
      "branch": 179,
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29662,
        29678
      ],
      "op": "EQ",
      "path": "26"
    },
    "17054": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29662,
        29724
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x42A8"
    },
    "17057": {
      "branch": 179,
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29662,
        29724
      ],
      "op": "JUMPI",
      "path": "26"
    },
    "17058": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29705,
        29713
      ],
      "op": "DUP1",
      "path": "26"
    },
    "17059": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29715,
        29723
      ],
      "op": "DUP3",
      "path": "26"
    },
    "17060": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29662,
        29724
      ],
      "op": "PUSH2",
      "path": "26",
      "value": "0x42AB"
    },
    "17063": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29662,
        29724
      ],
      "op": "JUMP",
      "path": "26"
    },
    "17064": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29662,
        29724
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "17065": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29682,
        29690
      ],
      "op": "DUP2",
      "path": "26"
    },
    "17066": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29692,
        29700
      ],
      "op": "DUP2",
      "path": "26"
    },
    "17067": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29662,
        29724
      ],
      "op": "JUMPDEST",
      "path": "26"
    },
    "17068": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29639,
        29724
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "17069": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29639,
        29724
      ],
      "op": "SWAP10",
      "path": "26"
    },
    "17070": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29639,
        29724
      ],
      "op": "SWAP1",
      "path": "26"
    },
    "17071": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29639,
        29724
      ],
      "op": "SWAP9",
      "path": "26"
    },
    "17072": {
      "op": "POP"
    },
    "17073": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "offset": [
        29311,
        29729
      ],
      "op": "SWAP7",
      "path": "26"
    },
    "17074": {
      "op": "POP"
    },
    "17075": {
      "op": "POP"
    },
    "17076": {
      "op": "POP"
    },
    "17077": {
      "op": "POP"
    },
    "17078": {
      "op": "POP"
    },
    "17079": {
      "op": "POP"
    },
    "17080": {
      "op": "POP"
    },
    "17081": {
      "fn": "MockUniswapV2Router02UniswapV2Library.getReserves",
      "jump": "o",
      "offset": [
        29311,
        29729
      ],
      "op": "JUMP",
      "path": "26"
    }
  },
  "sha1": "124c748a90e9e944e7ecf4a093b1ee2d660ff606",
  "source": "pragma solidity 0.6.12;\n\ninterface MockUniswapV2Router02IUniswapV2Factory {\n  event PairCreated(address indexed token0, address indexed token1, address pair, uint);\n\n  function feeTo() external view returns (address);\n\n  function feeToSetter() external view returns (address);\n\n  function getPair(address tokenA, address tokenB) external view returns (address pair);\n\n  function allPairs(uint) external view returns (address pair);\n\n  function allPairsLength() external view returns (uint);\n\n  function createPair(address tokenA, address tokenB) external returns (address pair);\n\n  function setFeeTo(address) external;\n\n  function setFeeToSetter(address) external;\n}\n\ninterface MockUniswapV2Router02IUniswapV2Pair {\n  event Approval(address indexed owner, address indexed spender, uint value);\n  event Transfer(address indexed from, address indexed to, uint value);\n\n  function name() external pure returns (string memory);\n\n  function symbol() external pure returns (string memory);\n\n  function decimals() external pure returns (uint8);\n\n  function totalSupply() external view returns (uint);\n\n  function balanceOf(address owner) external view returns (uint);\n\n  function allowance(address owner, address spender) external view returns (uint);\n\n  function approve(address spender, uint value) external returns (bool);\n\n  function transfer(address to, uint value) external returns (bool);\n\n  function transferFrom(\n    address from,\n    address to,\n    uint value\n  ) external returns (bool);\n\n  function DOMAIN_SEPARATOR() external view returns (bytes32);\n\n  function PERMIT_TYPEHASH() external pure returns (bytes32);\n\n  function nonces(address owner) external view returns (uint);\n\n  function permit(\n    address owner,\n    address spender,\n    uint value,\n    uint deadline,\n    uint8 v,\n    bytes32 r,\n    bytes32 s\n  ) external;\n\n  event Mint(address indexed sender, uint amount0, uint amount1);\n  event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);\n  event Swap(\n    address indexed sender,\n    uint amount0In,\n    uint amount1In,\n    uint amount0Out,\n    uint amount1Out,\n    address indexed to\n  );\n  event Sync(uint112 reserve0, uint112 reserve1);\n\n  function MINIMUM_LIQUIDITY() external pure returns (uint);\n\n  function factory() external view returns (address);\n\n  function token0() external view returns (address);\n\n  function token1() external view returns (address);\n\n  function getReserves()\n    external\n    view\n    returns (\n      uint112 reserve0,\n      uint112 reserve1,\n      uint32 blockTimestampLast\n    );\n\n  function price0CumulativeLast() external view returns (uint);\n\n  function price1CumulativeLast() external view returns (uint);\n\n  function kLast() external view returns (uint);\n\n  function mint(address to) external returns (uint liquidity);\n\n  function burn(address to) external returns (uint amount0, uint amount1);\n\n  function swap(\n    uint amount0Out,\n    uint amount1Out,\n    address to,\n    bytes calldata data\n  ) external;\n\n  function skim(address to) external;\n\n  function sync() external;\n\n  function initialize(address, address) external;\n}\n\ninterface MockUniswapV2Router02IUniswapV2Router01 {\n  function factory() external pure returns (address);\n\n  function WETH() external pure returns (address);\n\n  function addLiquidity(\n    address tokenA,\n    address tokenB,\n    uint amountADesired,\n    uint amountBDesired,\n    uint amountAMin,\n    uint amountBMin,\n    address to,\n    uint deadline\n  )\n    external\n    returns (\n      uint amountA,\n      uint amountB,\n      uint liquidity\n    );\n\n  function addLiquidityETH(\n    address token,\n    uint amountTokenDesired,\n    uint amountTokenMin,\n    uint amountETHMin,\n    address to,\n    uint deadline\n  )\n    external\n    payable\n    returns (\n      uint amountToken,\n      uint amountETH,\n      uint liquidity\n    );\n\n  function removeLiquidity(\n    address tokenA,\n    address tokenB,\n    uint liquidity,\n    uint amountAMin,\n    uint amountBMin,\n    address to,\n    uint deadline\n  ) external returns (uint amountA, uint amountB);\n\n  function removeLiquidityETH(\n    address token,\n    uint liquidity,\n    uint amountTokenMin,\n    uint amountETHMin,\n    address to,\n    uint deadline\n  ) external returns (uint amountToken, uint amountETH);\n\n  function removeLiquidityWithPermit(\n    address tokenA,\n    address tokenB,\n    uint liquidity,\n    uint amountAMin,\n    uint amountBMin,\n    address to,\n    uint deadline,\n    bool approveMax,\n    uint8 v,\n    bytes32 r,\n    bytes32 s\n  ) external returns (uint amountA, uint amountB);\n\n  function removeLiquidityETHWithPermit(\n    address token,\n    uint liquidity,\n    uint amountTokenMin,\n    uint amountETHMin,\n    address to,\n    uint deadline,\n    bool approveMax,\n    uint8 v,\n    bytes32 r,\n    bytes32 s\n  ) external returns (uint amountToken, uint amountETH);\n\n  function swapExactTokensForTokens(\n    uint amountIn,\n    uint amountOutMin,\n    address[] calldata path,\n    address to,\n    uint deadline\n  ) external returns (uint[] memory amounts);\n\n  function swapTokensForExactTokens(\n    uint amountOut,\n    uint amountInMax,\n    address[] calldata path,\n    address to,\n    uint deadline\n  ) external returns (uint[] memory amounts);\n\n  function swapExactETHForTokens(\n    uint amountOutMin,\n    address[] calldata path,\n    address to,\n    uint deadline\n  ) external payable returns (uint[] memory amounts);\n\n  function swapTokensForExactETH(\n    uint amountOut,\n    uint amountInMax,\n    address[] calldata path,\n    address to,\n    uint deadline\n  ) external returns (uint[] memory amounts);\n\n  function swapExactTokensForETH(\n    uint amountIn,\n    uint amountOutMin,\n    address[] calldata path,\n    address to,\n    uint deadline\n  ) external returns (uint[] memory amounts);\n\n  function swapETHForExactTokens(\n    uint amountOut,\n    address[] calldata path,\n    address to,\n    uint deadline\n  ) external payable returns (uint[] memory amounts);\n\n  function quote(\n    uint amountA,\n    uint reserveA,\n    uint reserveB\n  ) external pure returns (uint amountB);\n\n  function getAmountOut(\n    uint amountIn,\n    uint reserveIn,\n    uint reserveOut\n  ) external pure returns (uint amountOut);\n\n  function getAmountIn(\n    uint amountOut,\n    uint reserveIn,\n    uint reserveOut\n  ) external pure returns (uint amountIn);\n\n  function getAmountsOut(uint amountIn, address[] calldata path)\n    external\n    view\n    returns (uint[] memory amounts);\n\n  function getAmountsIn(uint amountOut, address[] calldata path)\n    external\n    view\n    returns (uint[] memory amounts);\n}\n\ninterface MockUniswapV2Router02IUniswapV2Router02 is MockUniswapV2Router02IUniswapV2Router01 {\n  function removeLiquidityETHSupportingFeeOnTransferTokens(\n    address token,\n    uint liquidity,\n    uint amountTokenMin,\n    uint amountETHMin,\n    address to,\n    uint deadline\n  ) external returns (uint amountETH);\n\n  function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(\n    address token,\n    uint liquidity,\n    uint amountTokenMin,\n    uint amountETHMin,\n    address to,\n    uint deadline,\n    bool approveMax,\n    uint8 v,\n    bytes32 r,\n    bytes32 s\n  ) external returns (uint amountETH);\n\n  function swapExactTokensForTokensSupportingFeeOnTransferTokens(\n    uint amountIn,\n    uint amountOutMin,\n    address[] calldata path,\n    address to,\n    uint deadline\n  ) external;\n\n  function swapExactETHForTokensSupportingFeeOnTransferTokens(\n    uint amountOutMin,\n    address[] calldata path,\n    address to,\n    uint deadline\n  ) external payable;\n\n  function swapExactTokensForETHSupportingFeeOnTransferTokens(\n    uint amountIn,\n    uint amountOutMin,\n    address[] calldata path,\n    address to,\n    uint deadline\n  ) external;\n}\n\ninterface IERC20 {\n  event Approval(address indexed owner, address indexed spender, uint value);\n  event Transfer(address indexed from, address indexed to, uint value);\n\n  function name() external view returns (string memory);\n\n  function symbol() external view returns (string memory);\n\n  function decimals() external view returns (uint8);\n\n  function totalSupply() external view returns (uint);\n\n  function balanceOf(address owner) external view returns (uint);\n\n  function allowance(address owner, address spender) external view returns (uint);\n\n  function approve(address spender, uint value) external returns (bool);\n\n  function transfer(address to, uint value) external returns (bool);\n\n  function transferFrom(\n    address from,\n    address to,\n    uint value\n  ) external returns (bool);\n}\n\ninterface MockUniswapV2Router02IWETH {\n  function deposit() external payable;\n\n  function transfer(address to, uint value) external returns (bool);\n\n  function withdraw(uint) external;\n}\n\ncontract MockUniswapV2Router02 is MockUniswapV2Router02IUniswapV2Router02 {\n  using MockUniswapV2Router02SafeMath for uint;\n\n  address public immutable override factory;\n  address public immutable override WETH;\n\n  modifier ensure(uint deadline) {\n    require(deadline >= block.timestamp, 'UniswapV2Router: EXPIRED');\n    _;\n  }\n\n  constructor(address _factory, address _WETH) public {\n    factory = _factory;\n    WETH = _WETH;\n  }\n\n  receive() external payable {\n    assert(msg.sender == WETH); // only accept ETH via fallback from the WETH contract\n  }\n\n  // **** ADD LIQUIDITY ****\n  function _addLiquidity(\n    address tokenA,\n    address tokenB,\n    uint amountADesired,\n    uint amountBDesired,\n    uint amountAMin,\n    uint amountBMin\n  ) internal virtual returns (uint amountA, uint amountB) {\n    // create the pair if it doesn't exist yet\n    if (MockUniswapV2Router02IUniswapV2Factory(factory).getPair(tokenA, tokenB) == address(0)) {\n      MockUniswapV2Router02IUniswapV2Factory(factory).createPair(tokenA, tokenB);\n    }\n    (uint reserveA, uint reserveB) =\n      MockUniswapV2Router02UniswapV2Library.getReserves(factory, tokenA, tokenB);\n    if (reserveA == 0 && reserveB == 0) {\n      (amountA, amountB) = (amountADesired, amountBDesired);\n    } else {\n      uint amountBOptimal =\n        MockUniswapV2Router02UniswapV2Library.quote(amountADesired, reserveA, reserveB);\n      if (amountBOptimal <= amountBDesired) {\n        require(amountBOptimal >= amountBMin, 'UniswapV2Router: INSUFFICIENT_B_AMOUNT');\n        (amountA, amountB) = (amountADesired, amountBOptimal);\n      } else {\n        uint amountAOptimal =\n          MockUniswapV2Router02UniswapV2Library.quote(amountBDesired, reserveB, reserveA);\n        assert(amountAOptimal <= amountADesired);\n        require(amountAOptimal >= amountAMin, 'UniswapV2Router: INSUFFICIENT_A_AMOUNT');\n        (amountA, amountB) = (amountAOptimal, amountBDesired);\n      }\n    }\n  }\n\n  function addLiquidity(\n    address tokenA,\n    address tokenB,\n    uint amountADesired,\n    uint amountBDesired,\n    uint amountAMin,\n    uint amountBMin,\n    address to,\n    uint deadline\n  )\n    external\n    virtual\n    override\n    ensure(deadline)\n    returns (\n      uint amountA,\n      uint amountB,\n      uint liquidity\n    )\n  {\n    (amountA, amountB) = _addLiquidity(\n      tokenA,\n      tokenB,\n      amountADesired,\n      amountBDesired,\n      amountAMin,\n      amountBMin\n    );\n    address pair = MockUniswapV2Router02UniswapV2Library.pairFor(factory, tokenA, tokenB);\n    MockUniswapV2Router02TransferHelper.safeTransferFrom(tokenA, msg.sender, pair, amountA);\n    MockUniswapV2Router02TransferHelper.safeTransferFrom(tokenB, msg.sender, pair, amountB);\n    liquidity = MockUniswapV2Router02IUniswapV2Pair(pair).mint(to);\n  }\n\n  function addLiquidityETH(\n    address token,\n    uint amountTokenDesired,\n    uint amountTokenMin,\n    uint amountETHMin,\n    address to,\n    uint deadline\n  )\n    external\n    payable\n    virtual\n    override\n    ensure(deadline)\n    returns (\n      uint amountToken,\n      uint amountETH,\n      uint liquidity\n    )\n  {\n    (amountToken, amountETH) = _addLiquidity(\n      token,\n      WETH,\n      amountTokenDesired,\n      msg.value,\n      amountTokenMin,\n      amountETHMin\n    );\n    address pair = MockUniswapV2Router02UniswapV2Library.pairFor(factory, token, WETH);\n    MockUniswapV2Router02TransferHelper.safeTransferFrom(token, msg.sender, pair, amountToken);\n    MockUniswapV2Router02IWETH(WETH).deposit{value: amountETH}();\n    assert(MockUniswapV2Router02IWETH(WETH).transfer(pair, amountETH));\n    liquidity = MockUniswapV2Router02IUniswapV2Pair(pair).mint(to);\n    // refund dust eth, if any\n    if (msg.value > amountETH)\n      MockUniswapV2Router02TransferHelper.safeTransferETH(msg.sender, msg.value - amountETH);\n  }\n\n  // **** REMOVE LIQUIDITY ****\n  function removeLiquidity(\n    address tokenA,\n    address tokenB,\n    uint liquidity,\n    uint amountAMin,\n    uint amountBMin,\n    address to,\n    uint deadline\n  ) public virtual override ensure(deadline) returns (uint amountA, uint amountB) {\n    address pair = MockUniswapV2Router02UniswapV2Library.pairFor(factory, tokenA, tokenB);\n    MockUniswapV2Router02IUniswapV2Pair(pair).transferFrom(msg.sender, pair, liquidity); // send liquidity to pair\n    (uint amount0, uint amount1) = MockUniswapV2Router02IUniswapV2Pair(pair).burn(to);\n    (address token0, ) = MockUniswapV2Router02UniswapV2Library.sortTokens(tokenA, tokenB);\n    (amountA, amountB) = tokenA == token0 ? (amount0, amount1) : (amount1, amount0);\n    require(amountA >= amountAMin, 'UniswapV2Router: INSUFFICIENT_A_AMOUNT');\n    require(amountB >= amountBMin, 'UniswapV2Router: INSUFFICIENT_B_AMOUNT');\n  }\n\n  function removeLiquidityETH(\n    address token,\n    uint liquidity,\n    uint amountTokenMin,\n    uint amountETHMin,\n    address to,\n    uint deadline\n  ) public virtual override ensure(deadline) returns (uint amountToken, uint amountETH) {\n    (amountToken, amountETH) = removeLiquidity(\n      token,\n      WETH,\n      liquidity,\n      amountTokenMin,\n      amountETHMin,\n      address(this),\n      deadline\n    );\n    MockUniswapV2Router02TransferHelper.safeTransfer(token, to, amountToken);\n    MockUniswapV2Router02IWETH(WETH).withdraw(amountETH);\n    MockUniswapV2Router02TransferHelper.safeTransferETH(to, amountETH);\n  }\n\n  function removeLiquidityWithPermit(\n    address tokenA,\n    address tokenB,\n    uint liquidity,\n    uint amountAMin,\n    uint amountBMin,\n    address to,\n    uint deadline,\n    bool approveMax,\n    uint8 v,\n    bytes32 r,\n    bytes32 s\n  ) external virtual override returns (uint amountA, uint amountB) {\n    address pair = MockUniswapV2Router02UniswapV2Library.pairFor(factory, tokenA, tokenB);\n    uint value = approveMax ? uint(-1) : liquidity;\n    MockUniswapV2Router02IUniswapV2Pair(pair).permit(\n      msg.sender,\n      address(this),\n      value,\n      deadline,\n      v,\n      r,\n      s\n    );\n    (amountA, amountB) = removeLiquidity(\n      tokenA,\n      tokenB,\n      liquidity,\n      amountAMin,\n      amountBMin,\n      to,\n      deadline\n    );\n  }\n\n  function removeLiquidityETHWithPermit(\n    address token,\n    uint liquidity,\n    uint amountTokenMin,\n    uint amountETHMin,\n    address to,\n    uint deadline,\n    bool approveMax,\n    uint8 v,\n    bytes32 r,\n    bytes32 s\n  ) external virtual override returns (uint amountToken, uint amountETH) {\n    address pair = MockUniswapV2Router02UniswapV2Library.pairFor(factory, token, WETH);\n    uint value = approveMax ? uint(-1) : liquidity;\n    MockUniswapV2Router02IUniswapV2Pair(pair).permit(\n      msg.sender,\n      address(this),\n      value,\n      deadline,\n      v,\n      r,\n      s\n    );\n    (amountToken, amountETH) = removeLiquidityETH(\n      token,\n      liquidity,\n      amountTokenMin,\n      amountETHMin,\n      to,\n      deadline\n    );\n  }\n\n  // **** REMOVE LIQUIDITY (supporting fee-on-transfer tokens) ****\n  function removeLiquidityETHSupportingFeeOnTransferTokens(\n    address token,\n    uint liquidity,\n    uint amountTokenMin,\n    uint amountETHMin,\n    address to,\n    uint deadline\n  ) public virtual override ensure(deadline) returns (uint amountETH) {\n    (, amountETH) = removeLiquidity(\n      token,\n      WETH,\n      liquidity,\n      amountTokenMin,\n      amountETHMin,\n      address(this),\n      deadline\n    );\n    MockUniswapV2Router02TransferHelper.safeTransfer(\n      token,\n      to,\n      IERC20(token).balanceOf(address(this))\n    );\n    MockUniswapV2Router02IWETH(WETH).withdraw(amountETH);\n    MockUniswapV2Router02TransferHelper.safeTransferETH(to, amountETH);\n  }\n\n  function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(\n    address token,\n    uint liquidity,\n    uint amountTokenMin,\n    uint amountETHMin,\n    address to,\n    uint deadline,\n    bool approveMax,\n    uint8 v,\n    bytes32 r,\n    bytes32 s\n  ) external virtual override returns (uint amountETH) {\n    address pair = MockUniswapV2Router02UniswapV2Library.pairFor(factory, token, WETH);\n    uint value = approveMax ? uint(-1) : liquidity;\n    MockUniswapV2Router02IUniswapV2Pair(pair).permit(\n      msg.sender,\n      address(this),\n      value,\n      deadline,\n      v,\n      r,\n      s\n    );\n    amountETH = removeLiquidityETHSupportingFeeOnTransferTokens(\n      token,\n      liquidity,\n      amountTokenMin,\n      amountETHMin,\n      to,\n      deadline\n    );\n  }\n\n  // **** SWAP ****\n  // requires the initial amount to have already been sent to the first pair\n  function _swap(\n    uint[] memory amounts,\n    address[] memory path,\n    address _to\n  ) internal virtual {\n    for (uint i; i < path.length - 1; i++) {\n      (address input, address output) = (path[i], path[i + 1]);\n      (address token0, ) = MockUniswapV2Router02UniswapV2Library.sortTokens(input, output);\n      uint amountOut = amounts[i + 1];\n      (uint amount0Out, uint amount1Out) =\n        input == token0 ? (uint(0), amountOut) : (amountOut, uint(0));\n      address to =\n        i < path.length - 2\n          ? MockUniswapV2Router02UniswapV2Library.pairFor(factory, output, path[i + 2])\n          : _to;\n      MockUniswapV2Router02IUniswapV2Pair(\n        MockUniswapV2Router02UniswapV2Library.pairFor(factory, input, output)\n      )\n        .swap(amount0Out, amount1Out, to, new bytes(0));\n    }\n  }\n\n  function swapExactTokensForTokens(\n    uint amountIn,\n    uint amountOutMin,\n    address[] calldata path,\n    address to,\n    uint deadline\n  ) external virtual override ensure(deadline) returns (uint[] memory amounts) {\n    amounts = MockUniswapV2Router02UniswapV2Library.getAmountsOut(factory, amountIn, path);\n    require(\n      amounts[amounts.length - 1] >= amountOutMin,\n      'UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT'\n    );\n    MockUniswapV2Router02TransferHelper.safeTransferFrom(\n      path[0],\n      msg.sender,\n      MockUniswapV2Router02UniswapV2Library.pairFor(factory, path[0], path[1]),\n      amounts[0]\n    );\n    _swap(amounts, path, to);\n  }\n\n  function swapTokensForExactTokens(\n    uint amountOut,\n    uint amountInMax,\n    address[] calldata path,\n    address to,\n    uint deadline\n  ) external virtual override ensure(deadline) returns (uint[] memory amounts) {\n    amounts = MockUniswapV2Router02UniswapV2Library.getAmountsIn(factory, amountOut, path);\n    require(amounts[0] <= amountInMax, 'UniswapV2Router: EXCESSIVE_INPUT_AMOUNT');\n    MockUniswapV2Router02TransferHelper.safeTransferFrom(\n      path[0],\n      msg.sender,\n      MockUniswapV2Router02UniswapV2Library.pairFor(factory, path[0], path[1]),\n      amounts[0]\n    );\n    _swap(amounts, path, to);\n  }\n\n  function swapExactETHForTokens(\n    uint amountOutMin,\n    address[] calldata path,\n    address to,\n    uint deadline\n  ) external payable virtual override ensure(deadline) returns (uint[] memory amounts) {\n    require(path[0] == WETH, 'UniswapV2Router: INVALID_PATH');\n    amounts = MockUniswapV2Router02UniswapV2Library.getAmountsOut(factory, msg.value, path);\n    require(\n      amounts[amounts.length - 1] >= amountOutMin,\n      'UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT'\n    );\n    MockUniswapV2Router02IWETH(WETH).deposit{value: amounts[0]}();\n    assert(\n      MockUniswapV2Router02IWETH(WETH).transfer(\n        MockUniswapV2Router02UniswapV2Library.pairFor(factory, path[0], path[1]),\n        amounts[0]\n      )\n    );\n    _swap(amounts, path, to);\n  }\n\n  function swapTokensForExactETH(\n    uint amountOut,\n    uint amountInMax,\n    address[] calldata path,\n    address to,\n    uint deadline\n  ) external virtual override ensure(deadline) returns (uint[] memory amounts) {\n    require(path[path.length - 1] == WETH, 'UniswapV2Router: INVALID_PATH');\n    amounts = MockUniswapV2Router02UniswapV2Library.getAmountsIn(factory, amountOut, path);\n    require(amounts[0] <= amountInMax, 'UniswapV2Router: EXCESSIVE_INPUT_AMOUNT');\n    MockUniswapV2Router02TransferHelper.safeTransferFrom(\n      path[0],\n      msg.sender,\n      MockUniswapV2Router02UniswapV2Library.pairFor(factory, path[0], path[1]),\n      amounts[0]\n    );\n    _swap(amounts, path, address(this));\n    MockUniswapV2Router02IWETH(WETH).withdraw(amounts[amounts.length - 1]);\n    MockUniswapV2Router02TransferHelper.safeTransferETH(to, amounts[amounts.length - 1]);\n  }\n\n  function swapExactTokensForETH(\n    uint amountIn,\n    uint amountOutMin,\n    address[] calldata path,\n    address to,\n    uint deadline\n  ) external virtual override ensure(deadline) returns (uint[] memory amounts) {\n    require(path[path.length - 1] == WETH, 'UniswapV2Router: INVALID_PATH');\n    amounts = MockUniswapV2Router02UniswapV2Library.getAmountsOut(factory, amountIn, path);\n    require(\n      amounts[amounts.length - 1] >= amountOutMin,\n      'UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT'\n    );\n    MockUniswapV2Router02TransferHelper.safeTransferFrom(\n      path[0],\n      msg.sender,\n      MockUniswapV2Router02UniswapV2Library.pairFor(factory, path[0], path[1]),\n      amounts[0]\n    );\n    _swap(amounts, path, address(this));\n    MockUniswapV2Router02IWETH(WETH).withdraw(amounts[amounts.length - 1]);\n    MockUniswapV2Router02TransferHelper.safeTransferETH(to, amounts[amounts.length - 1]);\n  }\n\n  function swapETHForExactTokens(\n    uint amountOut,\n    address[] calldata path,\n    address to,\n    uint deadline\n  ) external payable virtual override ensure(deadline) returns (uint[] memory amounts) {\n    require(path[0] == WETH, 'UniswapV2Router: INVALID_PATH');\n    amounts = MockUniswapV2Router02UniswapV2Library.getAmountsIn(factory, amountOut, path);\n    require(amounts[0] <= msg.value, 'UniswapV2Router: EXCESSIVE_INPUT_AMOUNT');\n    MockUniswapV2Router02IWETH(WETH).deposit{value: amounts[0]}();\n    assert(\n      MockUniswapV2Router02IWETH(WETH).transfer(\n        MockUniswapV2Router02UniswapV2Library.pairFor(factory, path[0], path[1]),\n        amounts[0]\n      )\n    );\n    _swap(amounts, path, to);\n    // refund dust eth, if any\n    if (msg.value > amounts[0])\n      MockUniswapV2Router02TransferHelper.safeTransferETH(msg.sender, msg.value - amounts[0]);\n  }\n\n  // **** SWAP (supporting fee-on-transfer tokens) ****\n  // requires the initial amount to have already been sent to the first pair\n  function _swapSupportingFeeOnTransferTokens(address[] memory path, address _to) internal virtual {\n    for (uint i; i < path.length - 1; i++) {\n      (address input, address output) = (path[i], path[i + 1]);\n      (address token0, ) = MockUniswapV2Router02UniswapV2Library.sortTokens(input, output);\n      MockUniswapV2Router02IUniswapV2Pair pair =\n        MockUniswapV2Router02IUniswapV2Pair(\n          MockUniswapV2Router02UniswapV2Library.pairFor(factory, input, output)\n        );\n      uint amountInput;\n      uint amountOutput;\n      {\n        // scope to avoid stack too deep errors\n        (uint reserve0, uint reserve1, ) = pair.getReserves();\n        (uint reserveInput, uint reserveOutput) =\n          input == token0 ? (reserve0, reserve1) : (reserve1, reserve0);\n        amountInput = IERC20(input).balanceOf(address(pair)).sub(reserveInput);\n        amountOutput = MockUniswapV2Router02UniswapV2Library.getAmountOut(\n          amountInput,\n          reserveInput,\n          reserveOutput\n        );\n      }\n      (uint amount0Out, uint amount1Out) =\n        input == token0 ? (uint(0), amountOutput) : (amountOutput, uint(0));\n      address to =\n        i < path.length - 2\n          ? MockUniswapV2Router02UniswapV2Library.pairFor(factory, output, path[i + 2])\n          : _to;\n      pair.swap(amount0Out, amount1Out, to, new bytes(0));\n    }\n  }\n\n  function swapExactTokensForTokensSupportingFeeOnTransferTokens(\n    uint amountIn,\n    uint amountOutMin,\n    address[] calldata path,\n    address to,\n    uint deadline\n  ) external virtual override ensure(deadline) {\n    MockUniswapV2Router02TransferHelper.safeTransferFrom(\n      path[0],\n      msg.sender,\n      MockUniswapV2Router02UniswapV2Library.pairFor(factory, path[0], path[1]),\n      amountIn\n    );\n    uint balanceBefore = IERC20(path[path.length - 1]).balanceOf(to);\n    _swapSupportingFeeOnTransferTokens(path, to);\n    require(\n      IERC20(path[path.length - 1]).balanceOf(to).sub(balanceBefore) >= amountOutMin,\n      'UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT'\n    );\n  }\n\n  function swapExactETHForTokensSupportingFeeOnTransferTokens(\n    uint amountOutMin,\n    address[] calldata path,\n    address to,\n    uint deadline\n  ) external payable virtual override ensure(deadline) {\n    require(path[0] == WETH, 'UniswapV2Router: INVALID_PATH');\n    uint amountIn = msg.value;\n    MockUniswapV2Router02IWETH(WETH).deposit{value: amountIn}();\n    assert(\n      MockUniswapV2Router02IWETH(WETH).transfer(\n        MockUniswapV2Router02UniswapV2Library.pairFor(factory, path[0], path[1]),\n        amountIn\n      )\n    );\n    uint balanceBefore = IERC20(path[path.length - 1]).balanceOf(to);\n    _swapSupportingFeeOnTransferTokens(path, to);\n    require(\n      IERC20(path[path.length - 1]).balanceOf(to).sub(balanceBefore) >= amountOutMin,\n      'UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT'\n    );\n  }\n\n  function swapExactTokensForETHSupportingFeeOnTransferTokens(\n    uint amountIn,\n    uint amountOutMin,\n    address[] calldata path,\n    address to,\n    uint deadline\n  ) external virtual override ensure(deadline) {\n    require(path[path.length - 1] == WETH, 'UniswapV2Router: INVALID_PATH');\n    MockUniswapV2Router02TransferHelper.safeTransferFrom(\n      path[0],\n      msg.sender,\n      MockUniswapV2Router02UniswapV2Library.pairFor(factory, path[0], path[1]),\n      amountIn\n    );\n    _swapSupportingFeeOnTransferTokens(path, address(this));\n    uint amountOut = IERC20(WETH).balanceOf(address(this));\n    require(amountOut >= amountOutMin, 'UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT');\n    MockUniswapV2Router02IWETH(WETH).withdraw(amountOut);\n    MockUniswapV2Router02TransferHelper.safeTransferETH(to, amountOut);\n  }\n\n  // **** LIBRARY FUNCTIONS ****\n  function quote(\n    uint amountA,\n    uint reserveA,\n    uint reserveB\n  ) public pure virtual override returns (uint amountB) {\n    return MockUniswapV2Router02UniswapV2Library.quote(amountA, reserveA, reserveB);\n  }\n\n  function getAmountOut(\n    uint amountIn,\n    uint reserveIn,\n    uint reserveOut\n  ) public pure virtual override returns (uint amountOut) {\n    return MockUniswapV2Router02UniswapV2Library.getAmountOut(amountIn, reserveIn, reserveOut);\n  }\n\n  function getAmountIn(\n    uint amountOut,\n    uint reserveIn,\n    uint reserveOut\n  ) public pure virtual override returns (uint amountIn) {\n    return MockUniswapV2Router02UniswapV2Library.getAmountIn(amountOut, reserveIn, reserveOut);\n  }\n\n  function getAmountsOut(uint amountIn, address[] memory path)\n    public\n    view\n    virtual\n    override\n    returns (uint[] memory amounts)\n  {\n    return MockUniswapV2Router02UniswapV2Library.getAmountsOut(factory, amountIn, path);\n  }\n\n  function getAmountsIn(uint amountOut, address[] memory path)\n    public\n    view\n    virtual\n    override\n    returns (uint[] memory amounts)\n  {\n    return MockUniswapV2Router02UniswapV2Library.getAmountsIn(factory, amountOut, path);\n  }\n}\n\n// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)\n\nlibrary MockUniswapV2Router02SafeMath {\n  function add(uint x, uint y) internal pure returns (uint z) {\n    require((z = x + y) >= x, 'ds-math-add-overflow');\n  }\n\n  function sub(uint x, uint y) internal pure returns (uint z) {\n    require((z = x - y) <= x, 'ds-math-sub-underflow');\n  }\n\n  function mul(uint x, uint y) internal pure returns (uint z) {\n    require(y == 0 || (z = x * y) / y == x, 'ds-math-mul-overflow');\n  }\n}\n\nlibrary MockUniswapV2Router02UniswapV2Library {\n  using MockUniswapV2Router02SafeMath for uint;\n\n  // returns sorted token addresses, used to handle return values from pairs sorted in this order\n  function sortTokens(address tokenA, address tokenB)\n    internal\n    pure\n    returns (address token0, address token1)\n  {\n    require(tokenA != tokenB, 'MockUniswapV2Router02UniswapV2Library: IDENTICAL_ADDRESSES');\n    (token0, token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA);\n    require(token0 != address(0), 'MockUniswapV2Router02UniswapV2Library: ZERO_ADDRESS');\n  }\n\n  // calculates the CREATE2 address for a pair without making any external calls\n  function pairFor(\n    address factory,\n    address tokenA,\n    address tokenB\n  ) internal view returns (address pair) {\n    return MockUniswapV2Router02IUniswapV2Factory(factory).getPair(tokenA, tokenB);\n  }\n\n  // fetches and sorts the reserves for a pair\n  function getReserves(\n    address factory,\n    address tokenA,\n    address tokenB\n  ) internal view returns (uint reserveA, uint reserveB) {\n    (address token0, ) = sortTokens(tokenA, tokenB);\n    (uint reserve0, uint reserve1, ) =\n      MockUniswapV2Router02IUniswapV2Pair(pairFor(factory, tokenA, tokenB)).getReserves();\n    (reserveA, reserveB) = tokenA == token0 ? (reserve0, reserve1) : (reserve1, reserve0);\n  }\n\n  // given some amount of an asset and pair reserves, returns an equivalent amount of the other asset\n  function quote(\n    uint amountA,\n    uint reserveA,\n    uint reserveB\n  ) internal pure returns (uint amountB) {\n    require(amountA > 0, 'MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_AMOUNT');\n    require(\n      reserveA > 0 && reserveB > 0,\n      'MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_LIQUIDITY'\n    );\n    amountB = amountA.mul(reserveB) / reserveA;\n  }\n\n  // given an input amount of an asset and pair reserves, returns the maximum output amount of the other asset\n  function getAmountOut(\n    uint amountIn,\n    uint reserveIn,\n    uint reserveOut\n  ) internal pure returns (uint amountOut) {\n    require(amountIn > 0, 'MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT');\n    require(\n      reserveIn > 0 && reserveOut > 0,\n      'MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_LIQUIDITY'\n    );\n    uint amountInWithFee = amountIn.mul(997);\n    uint numerator = amountInWithFee.mul(reserveOut);\n    uint denominator = reserveIn.mul(1000).add(amountInWithFee);\n    amountOut = numerator / denominator;\n  }\n\n  // given an output amount of an asset and pair reserves, returns a required input amount of the other asset\n  function getAmountIn(\n    uint amountOut,\n    uint reserveIn,\n    uint reserveOut\n  ) internal pure returns (uint amountIn) {\n    require(amountOut > 0, 'MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_OUTPUT_AMOUNT');\n    require(\n      reserveIn > 0 && reserveOut > 0,\n      'MockUniswapV2Router02UniswapV2Library: INSUFFICIENT_LIQUIDITY'\n    );\n    uint numerator = reserveIn.mul(amountOut).mul(1000);\n    uint denominator = reserveOut.sub(amountOut).mul(997);\n    amountIn = (numerator / denominator).add(1);\n  }\n\n  // performs chained getAmountOut calculations on any number of pairs\n  function getAmountsOut(\n    address factory,\n    uint amountIn,\n    address[] memory path\n  ) internal view returns (uint[] memory amounts) {\n    require(path.length >= 2, 'MockUniswapV2Router02UniswapV2Library: INVALID_PATH');\n    amounts = new uint[](path.length);\n    amounts[0] = amountIn;\n    for (uint i; i < path.length - 1; i++) {\n      (uint reserveIn, uint reserveOut) = getReserves(factory, path[i], path[i + 1]);\n      amounts[i + 1] = getAmountOut(amounts[i], reserveIn, reserveOut);\n    }\n  }\n\n  // performs chained getAmountIn calculations on any number of pairs\n  function getAmountsIn(\n    address factory,\n    uint amountOut,\n    address[] memory path\n  ) internal view returns (uint[] memory amounts) {\n    require(path.length >= 2, 'MockUniswapV2Router02UniswapV2Library: INVALID_PATH');\n    amounts = new uint[](path.length);\n    amounts[amounts.length - 1] = amountOut;\n    for (uint i = path.length - 1; i > 0; i--) {\n      (uint reserveIn, uint reserveOut) = getReserves(factory, path[i - 1], path[i]);\n      amounts[i - 1] = getAmountIn(amounts[i], reserveIn, reserveOut);\n    }\n  }\n}\n\n// helper methods for interacting with ERC20 tokens and sending ETH that do not consistently return true/false\nlibrary MockUniswapV2Router02TransferHelper {\n  function safeApprove(\n    address token,\n    address to,\n    uint value\n  ) internal {\n    // bytes4(keccak256(bytes('approve(address,uint256)')));\n    (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value));\n    require(\n      success && (data.length == 0 || abi.decode(data, (bool))),\n      'MockUniswapV2Router02TransferHelper: APPROVE_FAILED'\n    );\n  }\n\n  function safeTransfer(\n    address token,\n    address to,\n    uint value\n  ) internal {\n    // bytes4(keccak256(bytes('transfer(address,uint256)')));\n    (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value));\n    require(\n      success && (data.length == 0 || abi.decode(data, (bool))),\n      'MockUniswapV2Router02TransferHelper: TRANSFER_FAILED'\n    );\n  }\n\n  function safeTransferFrom(\n    address token,\n    address from,\n    address to,\n    uint value\n  ) internal {\n    // bytes4(keccak256(bytes('transferFrom(address,address,uint256)')));\n    (bool success, bytes memory data) =\n      token.call(abi.encodeWithSelector(0x23b872dd, from, to, value));\n    require(\n      success && (data.length == 0 || abi.decode(data, (bool))),\n      'MockUniswapV2Router02TransferHelper: TRANSFER_FROM_FAILED'\n    );\n  }\n\n  function safeTransferETH(address to, uint value) internal {\n    (bool success, ) = to.call{value: value}(new bytes(0));\n    require(success, 'MockUniswapV2Router02TransferHelper: ETH_TRANSFER_FAILED');\n  }\n}\n",
  "sourceMap": "8709:19137:26:-:0;;;9041:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9041:99:26;;;;;;;-1:-1:-1;;;;;;9099:18:26;;;;;;;;9123:12;;;;;8709:19137;;;;;;;;;;;;;;;;",
  "sourcePath": "contracts/mock/MockUniswapV2Router02.sol",
  "type": "contract"
}