{
  "contractName": "WitnetEncodingLib",
  "abi": [
    {
      "inputs": [],
      "name": "EmptyBuffer",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "index",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "range",
          "type": "uint256"
        }
      ],
      "name": "IndexOutOfBounds",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "length",
          "type": "uint256"
        }
      ],
      "name": "InvalidLengthEncoding",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "expected",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "given",
          "type": "uint256"
        }
      ],
      "name": "MissingArgs",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "read",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "expected",
          "type": "uint256"
        }
      ],
      "name": "UnexpectedMajorType",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint8",
          "name": "method",
          "type": "uint8"
        },
        {
          "internalType": "string",
          "name": "schema",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "body",
          "type": "string"
        },
        {
          "internalType": "string[2][]",
          "name": "headers",
          "type": "string[2][]"
        }
      ],
      "name": "UnsupportedDataRequestMethod",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "unexpected",
          "type": "uint256"
        }
      ],
      "name": "UnsupportedMajorType",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint8",
          "name": "datatype",
          "type": "uint8"
        },
        {
          "internalType": "uint256",
          "name": "maxlength",
          "type": "uint256"
        }
      ],
      "name": "UnsupportedRadonDataType",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint8",
          "name": "opcode",
          "type": "uint8"
        },
        {
          "internalType": "bytes",
          "name": "args",
          "type": "bytes"
        }
      ],
      "name": "UnsupportedRadonFilterArgs",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint8",
          "name": "opcode",
          "type": "uint8"
        }
      ],
      "name": "UnsupportedRadonFilterOpcode",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint8",
          "name": "opcode",
          "type": "uint8"
        }
      ],
      "name": "UnsupportedRadonReducerOpcode",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint8",
          "name": "opcode",
          "type": "uint8"
        },
        {
          "internalType": "bytes",
          "name": "script",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "offset",
          "type": "uint256"
        }
      ],
      "name": "UnsupportedRadonReducerScript",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "script",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "offset",
          "type": "uint256"
        }
      ],
      "name": "UnsupportedRadonScript",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "script",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "cursor",
          "type": "uint256"
        },
        {
          "internalType": "uint8",
          "name": "opcode",
          "type": "uint8"
        }
      ],
      "name": "UnsupportedRadonScriptOpcode",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        }
      ],
      "name": "UnsupportedRadonTallyScript",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "buf",
          "type": "bytes"
        }
      ],
      "name": "encode",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.RadonReducerOpcodes",
              "name": "opcode",
              "type": "Witnet.RadonReducerOpcodes"
            },
            {
              "components": [
                {
                  "internalType": "enum Witnet.RadonFilterOpcodes",
                  "name": "opcode",
                  "type": "Witnet.RadonFilterOpcodes"
                },
                {
                  "internalType": "bytes",
                  "name": "args",
                  "type": "bytes"
                }
              ],
              "internalType": "struct Witnet.RadonFilter[]",
              "name": "filters",
              "type": "tuple[]"
            }
          ],
          "internalType": "struct Witnet.RadonReducer",
          "name": "reducer",
          "type": "tuple"
        }
      ],
      "name": "encode",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "bytecode",
          "type": "bytes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "enum Witnet.RadonReducerOpcodes",
          "name": "opcode",
          "type": "Witnet.RadonReducerOpcodes"
        }
      ],
      "name": "encode",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "numWitnesses",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "minConsensusPercentage",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessReward",
              "type": "uint64"
            },
            {
              "internalType": "uint64",
              "name": "witnessCollateral",
              "type": "uint64"
            },
            {
              "internalType": "uint64",
              "name": "minerCommitRevealFee",
              "type": "uint64"
            }
          ],
          "internalType": "struct Witnet.RadonSLA",
          "name": "sla",
          "type": "tuple"
        }
      ],
      "name": "encode",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "str",
          "type": "string"
        }
      ],
      "name": "encode",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "buf",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "majorType",
          "type": "uint256"
        }
      ],
      "name": "encode",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint64",
          "name": "n",
          "type": "uint64"
        },
        {
          "internalType": "bytes1",
          "name": "t",
          "type": "bytes1"
        }
      ],
      "name": "encode",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "buf",
          "type": "bytes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "argsCount",
              "type": "uint8"
            },
            {
              "internalType": "enum Witnet.RadonDataRequestMethods",
              "name": "method",
              "type": "Witnet.RadonDataRequestMethods"
            },
            {
              "internalType": "enum Witnet.RadonDataTypes",
              "name": "resultDataType",
              "type": "Witnet.RadonDataTypes"
            },
            {
              "internalType": "string",
              "name": "url",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "body",
              "type": "string"
            },
            {
              "internalType": "string[2][]",
              "name": "headers",
              "type": "string[2][]"
            },
            {
              "internalType": "bytes",
              "name": "script",
              "type": "bytes"
            }
          ],
          "internalType": "struct Witnet.RadonRetrieval[]",
          "name": "sources",
          "type": "tuple[]"
        },
        {
          "internalType": "string[][]",
          "name": "args",
          "type": "string[][]"
        },
        {
          "internalType": "bytes",
          "name": "aggregatorInnerBytecode",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "tallyInnerBytecode",
          "type": "bytes"
        },
        {
          "internalType": "uint16",
          "name": "",
          "type": "uint16"
        }
      ],
      "name": "encode",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.RadonFilterOpcodes",
              "name": "opcode",
              "type": "Witnet.RadonFilterOpcodes"
            },
            {
              "internalType": "bytes",
              "name": "args",
              "type": "bytes"
            }
          ],
          "internalType": "struct Witnet.RadonFilter",
          "name": "filter",
          "type": "tuple"
        }
      ],
      "name": "encode",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "bytecode",
          "type": "bytes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "argsCount",
              "type": "uint8"
            },
            {
              "internalType": "enum Witnet.RadonDataRequestMethods",
              "name": "method",
              "type": "Witnet.RadonDataRequestMethods"
            },
            {
              "internalType": "enum Witnet.RadonDataTypes",
              "name": "resultDataType",
              "type": "Witnet.RadonDataTypes"
            },
            {
              "internalType": "string",
              "name": "url",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "body",
              "type": "string"
            },
            {
              "internalType": "string[2][]",
              "name": "headers",
              "type": "string[2][]"
            },
            {
              "internalType": "bytes",
              "name": "script",
              "type": "bytes"
            }
          ],
          "internalType": "struct Witnet.RadonRetrieval",
          "name": "source",
          "type": "tuple"
        }
      ],
      "name": "encode",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "internalType": "string[]",
          "name": "args",
          "type": "string[]"
        }
      ],
      "name": "replaceCborStringsFromBytes",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "argsCount",
              "type": "uint8"
            },
            {
              "internalType": "enum Witnet.RadonDataRequestMethods",
              "name": "method",
              "type": "Witnet.RadonDataRequestMethods"
            },
            {
              "internalType": "enum Witnet.RadonDataTypes",
              "name": "resultDataType",
              "type": "Witnet.RadonDataTypes"
            },
            {
              "internalType": "string",
              "name": "url",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "body",
              "type": "string"
            },
            {
              "internalType": "string[2][]",
              "name": "headers",
              "type": "string[2][]"
            },
            {
              "internalType": "bytes",
              "name": "script",
              "type": "bytes"
            }
          ],
          "internalType": "struct Witnet.RadonRetrieval",
          "name": "self",
          "type": "tuple"
        },
        {
          "internalType": "string[]",
          "name": "args",
          "type": "string[]"
        }
      ],
      "name": "replaceWildcards",
      "outputs": [],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "enum Witnet.RadonDataTypes",
          "name": "dataType",
          "type": "Witnet.RadonDataTypes"
        },
        {
          "internalType": "uint16",
          "name": "maxDataSize",
          "type": "uint16"
        }
      ],
      "name": "validate",
      "outputs": [
        {
          "internalType": "uint16",
          "name": "",
          "type": "uint16"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "enum Witnet.RadonDataRequestMethods",
          "name": "method",
          "type": "Witnet.RadonDataRequestMethods"
        },
        {
          "internalType": "string",
          "name": "url",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "body",
          "type": "string"
        },
        {
          "internalType": "string[2][]",
          "name": "headers",
          "type": "string[2][]"
        },
        {
          "internalType": "bytes",
          "name": "script",
          "type": "bytes"
        }
      ],
      "name": "validate",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "numWitnesses",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "minConsensusPercentage",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessReward",
              "type": "uint64"
            },
            {
              "internalType": "uint64",
              "name": "witnessCollateral",
              "type": "uint64"
            },
            {
              "internalType": "uint64",
              "name": "minerCommitRevealFee",
              "type": "uint64"
            }
          ],
          "internalType": "struct Witnet.RadonSLA",
          "name": "sla",
          "type": "tuple"
        }
      ],
      "name": "validate",
      "outputs": [],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.RadonFilterOpcodes",
              "name": "opcode",
              "type": "Witnet.RadonFilterOpcodes"
            },
            {
              "internalType": "bytes",
              "name": "args",
              "type": "bytes"
            }
          ],
          "internalType": "struct Witnet.RadonFilter",
          "name": "filter",
          "type": "tuple"
        }
      ],
      "name": "validate",
      "outputs": [],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.RadonReducerOpcodes",
              "name": "opcode",
              "type": "Witnet.RadonReducerOpcodes"
            },
            {
              "components": [
                {
                  "internalType": "enum Witnet.RadonFilterOpcodes",
                  "name": "opcode",
                  "type": "Witnet.RadonFilterOpcodes"
                },
                {
                  "internalType": "bytes",
                  "name": "args",
                  "type": "bytes"
                }
              ],
              "internalType": "struct Witnet.RadonFilter[]",
              "name": "filters",
              "type": "tuple[]"
            }
          ],
          "internalType": "struct Witnet.RadonReducer",
          "name": "reducer",
          "type": "tuple"
        }
      ],
      "name": "validate",
      "outputs": [],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "script",
          "type": "bytes"
        }
      ],
      "name": "verifyRadonScriptResultDataType",
      "outputs": [
        {
          "internalType": "enum Witnet.RadonDataTypes",
          "name": "",
          "type": "Witnet.RadonDataTypes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"EmptyBuffer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"range\",\"type\":\"uint256\"}],\"name\":\"IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"InvalidLengthEncoding\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"given\",\"type\":\"uint256\"}],\"name\":\"MissingArgs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"read\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"}],\"name\":\"UnexpectedMajorType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"method\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"schema\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"body\",\"type\":\"string\"},{\"internalType\":\"string[2][]\",\"name\":\"headers\",\"type\":\"string[2][]\"}],\"name\":\"UnsupportedDataRequestMethod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"unexpected\",\"type\":\"uint256\"}],\"name\":\"UnsupportedMajorType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"datatype\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"maxlength\",\"type\":\"uint256\"}],\"name\":\"UnsupportedRadonDataType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"name\":\"UnsupportedRadonFilterArgs\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"opcode\",\"type\":\"uint8\"}],\"name\":\"UnsupportedRadonFilterOpcode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"opcode\",\"type\":\"uint8\"}],\"name\":\"UnsupportedRadonReducerOpcode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"script\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"UnsupportedRadonReducerScript\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"script\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"UnsupportedRadonScript\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"script\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"cursor\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"opcode\",\"type\":\"uint8\"}],\"name\":\"UnsupportedRadonScriptOpcode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"}],\"name\":\"UnsupportedRadonTallyScript\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"buf\",\"type\":\"bytes\"}],\"name\":\"encode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"enum Witnet.RadonReducerOpcodes\",\"name\":\"opcode\",\"type\":\"Witnet.RadonReducerOpcodes\"},{\"components\":[{\"internalType\":\"enum Witnet.RadonFilterOpcodes\",\"name\":\"opcode\",\"type\":\"Witnet.RadonFilterOpcodes\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.RadonFilter[]\",\"name\":\"filters\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Witnet.RadonReducer\",\"name\":\"reducer\",\"type\":\"tuple\"}],\"name\":\"encode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Witnet.RadonReducerOpcodes\",\"name\":\"opcode\",\"type\":\"Witnet.RadonReducerOpcodes\"}],\"name\":\"encode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"numWitnesses\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"minConsensusPercentage\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessReward\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"witnessCollateral\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"minerCommitRevealFee\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.RadonSLA\",\"name\":\"sla\",\"type\":\"tuple\"}],\"name\":\"encode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"encode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"buf\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"majorType\",\"type\":\"uint256\"}],\"name\":\"encode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"n\",\"type\":\"uint64\"},{\"internalType\":\"bytes1\",\"name\":\"t\",\"type\":\"bytes1\"}],\"name\":\"encode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"buf\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"argsCount\",\"type\":\"uint8\"},{\"internalType\":\"enum Witnet.RadonDataRequestMethods\",\"name\":\"method\",\"type\":\"Witnet.RadonDataRequestMethods\"},{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"resultDataType\",\"type\":\"Witnet.RadonDataTypes\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"body\",\"type\":\"string\"},{\"internalType\":\"string[2][]\",\"name\":\"headers\",\"type\":\"string[2][]\"},{\"internalType\":\"bytes\",\"name\":\"script\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.RadonRetrieval[]\",\"name\":\"sources\",\"type\":\"tuple[]\"},{\"internalType\":\"string[][]\",\"name\":\"args\",\"type\":\"string[][]\"},{\"internalType\":\"bytes\",\"name\":\"aggregatorInnerBytecode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"tallyInnerBytecode\",\"type\":\"bytes\"},{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"name\":\"encode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"enum Witnet.RadonFilterOpcodes\",\"name\":\"opcode\",\"type\":\"Witnet.RadonFilterOpcodes\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.RadonFilter\",\"name\":\"filter\",\"type\":\"tuple\"}],\"name\":\"encode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"argsCount\",\"type\":\"uint8\"},{\"internalType\":\"enum Witnet.RadonDataRequestMethods\",\"name\":\"method\",\"type\":\"Witnet.RadonDataRequestMethods\"},{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"resultDataType\",\"type\":\"Witnet.RadonDataTypes\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"body\",\"type\":\"string\"},{\"internalType\":\"string[2][]\",\"name\":\"headers\",\"type\":\"string[2][]\"},{\"internalType\":\"bytes\",\"name\":\"script\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.RadonRetrieval\",\"name\":\"source\",\"type\":\"tuple\"}],\"name\":\"encode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"string[]\",\"name\":\"args\",\"type\":\"string[]\"}],\"name\":\"replaceCborStringsFromBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"argsCount\",\"type\":\"uint8\"},{\"internalType\":\"enum Witnet.RadonDataRequestMethods\",\"name\":\"method\",\"type\":\"Witnet.RadonDataRequestMethods\"},{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"resultDataType\",\"type\":\"Witnet.RadonDataTypes\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"body\",\"type\":\"string\"},{\"internalType\":\"string[2][]\",\"name\":\"headers\",\"type\":\"string[2][]\"},{\"internalType\":\"bytes\",\"name\":\"script\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.RadonRetrieval\",\"name\":\"self\",\"type\":\"tuple\"},{\"internalType\":\"string[]\",\"name\":\"args\",\"type\":\"string[]\"}],\"name\":\"replaceWildcards\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"dataType\",\"type\":\"Witnet.RadonDataTypes\"},{\"internalType\":\"uint16\",\"name\":\"maxDataSize\",\"type\":\"uint16\"}],\"name\":\"validate\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Witnet.RadonDataRequestMethods\",\"name\":\"method\",\"type\":\"Witnet.RadonDataRequestMethods\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"body\",\"type\":\"string\"},{\"internalType\":\"string[2][]\",\"name\":\"headers\",\"type\":\"string[2][]\"},{\"internalType\":\"bytes\",\"name\":\"script\",\"type\":\"bytes\"}],\"name\":\"validate\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"numWitnesses\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"minConsensusPercentage\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessReward\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"witnessCollateral\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"minerCommitRevealFee\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.RadonSLA\",\"name\":\"sla\",\"type\":\"tuple\"}],\"name\":\"validate\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"enum Witnet.RadonFilterOpcodes\",\"name\":\"opcode\",\"type\":\"Witnet.RadonFilterOpcodes\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.RadonFilter\",\"name\":\"filter\",\"type\":\"tuple\"}],\"name\":\"validate\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"enum Witnet.RadonReducerOpcodes\",\"name\":\"opcode\",\"type\":\"Witnet.RadonReducerOpcodes\"},{\"components\":[{\"internalType\":\"enum Witnet.RadonFilterOpcodes\",\"name\":\"opcode\",\"type\":\"Witnet.RadonFilterOpcodes\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.RadonFilter[]\",\"name\":\"filters\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Witnet.RadonReducer\",\"name\":\"reducer\",\"type\":\"tuple\"}],\"name\":\"validate\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"script\",\"type\":\"bytes\"}],\"name\":\"verifyRadonScriptResultDataType\",\"outputs\":[{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"\",\"type\":\"Witnet.RadonDataTypes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{\"encode(bytes)\":{\"params\":{\"buf\":\"Bytes array\"},\"returns\":{\"_0\":\"Mashaled bytes\"}},\"encode(bytes,uint256)\":{\"params\":{\"buf\":\"Bytes array\"},\"returns\":{\"_0\":\"Marshaled bytes\"}},\"encode(string)\":{\"params\":{\"str\":\"String bytes.\"},\"returns\":{\"_0\":\"Mashaled bytes\"}},\"encode(uint64,bytes1)\":{\"details\":\"Encode uint64 into tagged varint.See https://developers.google.com/protocol-buffers/docs/encoding#varints.\",\"params\":{\"n\":\"Number\",\"t\":\"Tag\"},\"returns\":{\"buf\":\"Marshaled bytes\"}}},\"title\":\"A library for encoding Witnet Data Requests.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"encode(bytes)\":{\"notice\":\"Encode bytes array.\"},\"encode(bytes,uint256)\":{\"notice\":\"Encode bytes array into given major type (UTF-8 not yet supported)\"},\"encode(string)\":{\"notice\":\"Encode string array (UTF-8 not yet supported).\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/libs/WitnetEncodingLib.sol\":\"WitnetEncodingLib\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/libs/Witnet.sol\":{\"keccak256\":\"0x65a87375dd79d63a83fb454b7199b6c999bd59c50b3b59d521c5c4d45a7d3cc3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca865b681d810c2fc5c3672ea6343c3bdf6fd71764ab824d25994744dc85866b\",\"dweb:/ipfs/QmPGcP3xGTNZfsQ9GSKdujNLRVs8dWDdubyUko1rbQqJNv\"]},\"project:/contracts/libs/WitnetBuffer.sol\":{\"keccak256\":\"0xa14570492eb5a313ddbacae0185c850ec99c67211eb33989a5e21d31bf06a150\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e83c11edb49cab6a767c0b685825bc22ece0d3d2897e0d54fe1923df5cc76ba5\",\"dweb:/ipfs/QmdLDgCc3tnKbgRrXwfNzsg6uUDirNmjvBB8V3iMmnD69a\"]},\"project:/contracts/libs/WitnetCBOR.sol\":{\"keccak256\":\"0xb346547ff731163beea2c657c52675cdf7936691d566a76a045577cf9c34ade0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d4b5b6424a033584b41f1204d635db98fda9ca9bd2a614c9d82539a3e4e6529\",\"dweb:/ipfs/QmW6Qy3wWpzHSECYaCPaf9LWGfPqWDKVoP2kPSNNQu7LMQ\"]},\"project:/contracts/libs/WitnetEncodingLib.sol\":{\"keccak256\":\"0x2c2ccc824f28dccdfb0b51c26a09b5cf1dc3c0519933e01b1a4211cee3634cb9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f5b7e3db8dcbdf521ad510ae3edbbc5accccbfabaf31a50bfe21ef9f5c40973\",\"dweb:/ipfs/QmZktfyrGF5pmaYerDA6oZYVwRt2HEeGk1Q7ruAG66QtXh\"]}},\"version\":1}",
  "bytecode": "0x613a22610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101205760003560e01c8063a8c06a13116100ac578063c5f3674a1161007b578063c5f3674a14610251578063daf4b0ef14610264578063dfaecd1114610277578063f3106f781461028a578063fa5dce12146102aa57600080fd5b8063a8c06a1314610205578063a97b1d3114610218578063acbade1f1461022b578063b6349ebd1461023e57600080fd5b8063203003b1116100f3578063203003b1146101a45780632461ccf3146101b75780632d81a542146101cc5780633b1e539b146101df5780636a11b2a8146101f257600080fd5b80630160730f1461012557806312496a1b1461015057806317464727146101705780631c02d22b14610191575b600080fd5b6101386101333660046129b8565b6102bd565b60405161ffff90911681526020015b60405180910390f35b61016361015e366004612aea565b610449565b6040516101479190612b76565b61018361017e366004612ca9565b610456565b604051908152602001610147565b61016361019f366004612dd3565b61055f565b6101636101b2366004612ec2565b6105f9565b6101ca6101c5366004612f05565b61061a565b005b6101636101da366004612f05565b6108b5565b6101ca6101ed3660046130fc565b61092c565b610163610200366004612aea565b6109f7565b61016361021336600461315f565b610a00565b6101ca6102263660046131a3565b610b50565b6101636102393660046131d7565b610c14565b61016361024c36600461329a565b610d7d565b61016361025f3660046131a3565b610eb9565b6101ca610272366004612dd3565b610f7b565b6101636102853660046133c7565b61107d565b61029d610298366004612aea565b6110e4565b6040516101479190613413565b6101636102b836600461342d565b6110f9565b6000808360138111156102d2576102d26133fd565b14806102ef575060078360138111156102ed576102ed6133fd565b145b8061030b57506003836013811115610309576103096133fd565b145b8061032757506001836013811115610325576103256133fd565b145b8061034357506006836013811115610341576103416133fd565b145b156103a6578161ffff1660000361039457826013811115610366576103666133fd565b604051637aba172760e01b815260ff909116600482015261ffff831660248201526044015b60405180910390fd5b61039f826003613477565b9050610443565b60048360138111156103ba576103ba6133fd565b14806103d7575060058360138111156103d5576103d56133fd565b145b806103f3575060028360138111156103f1576103f16133fd565b145b1561040057506009610443565b826013811115610412576104126133fd565b61041b846113e6565b604051637aba172760e01b815260ff909216600483015261ffff16602482015260440161038b565b92915050565b6060610443826002610a00565b60008085511180156104b057506001866004811115610477576104776133fd565b148061049457506003866004811115610492576104926133fd565b145b806104b0575060048660048111156104ae576104ae6133fd565b145b806104ef575060028660048111156104ca576104ca6133fd565b1480156104d657508451155b80156104e157508251155b80156104ef57506001825110155b61052557856004811115610505576105056133fd565b858585604051633a3cb62160e01b815260040161038b9493929190613518565b858585858560405160200161053e959493929190613565565b60405160208183030381529060405280519060200120905095945050505050565b606060005b8260200151518110156105c357816105988460200151838151811061058b5761058b6135d4565b6020026020010151610eb9565b6040516020016105a99291906135ea565b60408051601f198184030181529190529150600101610564565b50806105d283600001516105f9565b6040516020016105e39291906135ea565b6040516020818303038152906040529050919050565b606061044382600b811115610610576106106133fd565b600160fc1b610c14565b80604001516001600160401b03166000036106775760405162461bcd60e51b815260206004820152602960248201526000805160206139cd8339815191526044820152681b9bc81c995dd85c9960ba1b606482015260840161038b565b805160ff166000036106ce5760405162461bcd60e51b815260206004820152602c60248201526000805160206139cd83398151915260448201526b6e6f207769746e657373657360a01b606482015260840161038b565b607f816000015160ff16111561073a5760405162461bcd60e51b815260206004820152603960248201526000805160206139cd83398151915260448201527f746f6f206d616e79207769746e657373657320283e3132372900000000000000606482015260840161038b565b6033816020015160ff16108061075757506063816020015160ff16115b156107c25760405162461bcd60e51b815260206004820152604160248201526000805160206139cd83398151915260448201527f636f6e73656e7375732070657263656e74616765206f7574206f662072616e676064820152606560f81b608482015260a40161038b565b60608101516001600160401b0316156108215760405162461bcd60e51b815260206004820152602d60248201526000805160206139cd83398151915260448201526c1b9bc818dbdb1b185d195c985b609a1b606482015260840161038b565b607f81604001518260600151610837919061362f565b6001600160401b031611156108b25760405162461bcd60e51b815260206004820152604760248201526000805160206139cd83398151915260448201527f636f6c6c61746572616c2f72657761726420726174696f20746f6f206869676860648201526620283e3132372960c81b608482015260a40161038b565b50565b60606108c98260400151601060f81b610c14565b82516108dc9060ff16600360fb1b610c14565b60808401516108ef90600160fd1b610c14565b60208501516109059060ff16600560fb1b610c14565b606086015161091890600360fc1b610c14565b6040516020016105e3959493929190613655565b61093a826060015182611454565b6060830152608082015161094e9082611454565b608083015260c0820151610962908261107d565b60c083015260005b8260a00151518110156109f2576109b58360a001518281518110610990576109906135d4565b60200260200101516001600281106109aa576109aa6135d4565b602002015183611454565b8360a0015182815181106109cb576109cb6135d4565b60200260200101516001600281106109e5576109e56135d4565b602002015260010161096a565b505050565b60606104438260035b81516060906017811015610a41578060ff16600584901b1784604051602001610a2a9291906136c0565b604051602081830303815290604052915050610443565b600583901b606060ff8311610a88576040516001600160f81b031960f885901b166020820152601892909217916021015b6040516020818303038152906040529050610b1b565b61ffff8311610ab7576040516001600160f01b031960f085901b16602082015260199290921791602201610a72565b63ffffffff8311610ae8576040516001600160e01b031960e085901b166020820152601a9290921791602401610a72565b6040516001600160c01b031960c085901b166020820152601b929092179160280160405160208183030381529060405290505b818187604051602001610b30939291906136ef565b6040516020818303038152906040529350505050610443565b5092915050565b600581516009811115610b6557610b656133fd565b03610baa578060200151516000036108b25780516009811115610b8a57610b8a6133fd565b81602001516040516319037b1360e31b815260040161038b929190613734565b600881516009811115610bbf57610bbf6133fd565b03610be257602081015151156108b25780516009811115610b8a57610b8a6133fd565b80516009811115610bf557610bf56133fd565b60405163ddb08eaf60e01b815260ff909116600482015260240161038b565b60608260025b607f826001600160401b03161115610c47576007826001600160401b0316901c9150600181019050610c1a565b806001600160401b03166001600160401b03811115610c6857610c686129eb565b6040519080825280601f01601f191660200182016040528015610c92576020820181803683370190505b5092508491508383600081518110610cac57610cac6135d4565b60200101906001600160f81b031916908160001a90535060015b816001600160401b0316816001600160401b03161015610d355782607f1660801760f81b84826001600160401b031681518110610d0557610d056135d4565b60200101906001600160f81b031916908160001a90535060079290921c6701ffffffffffffff1691600101610cc6565b50607f60f81b83600183036001600160401b031681518110610d5957610d596135d4565b0160200180519091166001600160f81b03191690600082901a905350505092915050565b6060600086516001600160401b03811115610d9a57610d9a6129eb565b604051908082528060200260200182016040528015610dcd57816020015b6060815260200190600190039081610db85790505b50905060005b8751811015610e5f57610e18888281518110610df157610df16135d4565b6020026020010151888381518110610e0b57610e0b6135d4565b602002602001015161092c565b610e3a888281518110610e2d57610e2d6135d4565b60200260200101516110f9565b828281518110610e4c57610e4c6135d4565b6020908102919091010152600101610dd3565b50610e698161146b565b8551610e7990600d60f91b610c14565b86610e898751602260f81b610c14565b87604051602001610e9e959493929190613655565b60405160208183030381529060405291505095945050505050565b6060610ede82600001516009811115610ed457610ed46133fd565b600160fb1b610c14565b600083602001515111610f005760405180602001604052806000815250610f38565b602083015151610f1490600960f91b610c14565b602080850151604051610f289392016135ea565b6040516020818303038152906040525b604051602001610f499291906135ea565b6040516020818303038152906040529050610f698151600a60f81b610c14565b816040516020016105e39291906135ea565b60038151600b811115610f9057610f906133fd565b1480610fae575060078151600b811115610fac57610fac6133fd565b145b80610fcb575060028151600b811115610fc957610fc96133fd565b145b80610fe85750600b8151600b811115610fe657610fe66133fd565b145b80611005575060058151600b811115611003576110036133fd565b145b61103b578051600b81111561101c5761101c6133fd565b60405163a1165d6360e01b815260ff909116600482015260240161038b565b60005b8160200151518110156110795761107182602001518281518110611064576110646135d4565b6020026020010151610b50565b60010161103e565b5050565b6060600061108a846114c1565b90505b805180515160209091015110156110db57600360ff16816040015160ff16036110ca576110ba81846114ed565b6110c381611582565b905061108d565b6110c36110d6826115aa565b611582565b51519392505050565b60006104436110f2836114c1565b600061176f565b6060600061111683602001516004811115610ed457610ed46133fd565b90506060600084606001515111156111645760608401515161113c90600960f91b610c14565b84606001516040516020016111529291906135ea565b60405160208183030381529060405290505b60c084015151606090156111ae5760c08501515161118690600d60f91b610c14565b8560c0015160405160200161119c9291906135ea565b60405160208183030381529060405290505b608085015151606090156111f8576080860151516111d090601160f91b610c14565b86608001516040516020016111e69291906135ea565b60405160208183030381529060405290505b60a0860151516060901561136c5760005b8760a001515181101561136a57600061125b8960a001518381518110611231576112316135d4565b602002602001015160006002811061124b5761124b6135d4565b602002015151600560f91b610c14565b8960a001518381518110611271576112716135d4565b602002602001015160006002811061128b5761128b6135d4565b60200201516112d38b60a0015185815181106112a9576112a96135d4565b60200260200101516001600281106112c3576112c36135d4565b602002015151600960f91b610c14565b8b60a0015185815181106112e9576112e96135d4565b6020026020010151600160028110611303576113036135d4565b602002015160405160200161131b9493929190613750565b60405160208183030381529060405290508261133c8251602a60f81b610c14565b8260405160200161134f939291906137a7565b60408051601f19818403018152919052925050600101611209565b505b60008151835185518751895161138291906137ea565b61138c91906137ea565b61139691906137ea565b6113a091906137ea565b90506113b081600960f91b610c14565b86868686866040516020016113ca969594939291906137fd565b6040516020818303038152906040529650505050505050919050565b600060048260138111156113fc576113fc6133fd565b148061141957506005826013811115611417576114176133fd565b145b1561142657506009919050565b600282601381111561143a5761143a6133fd565b0361144757506001919050565b506000919050565b919050565b6060600061146284846118fe565b50949350505050565b60405160208101600060015b845181116114ab576020818102860151805190918201611498868284611b95565b5093840193929092019150600101611477565b5080835260208101604051016040525050919050565b6114c9612950565b60408051808201909152828152600060208201526114e681611bd9565b9392505050565b60808201518251602001516001600160401b0390911690600061150f85611cf9565b905060008061151e83876118fe565b90925090508015611579576000611534836109f7565b9050611540868661387c565b8851602001528351611560906115579088906137ea565b89519083611e02565b8051885160200180516115749083906137ea565b905250505b50505050505050565b61158a612950565b815180515160209091015110156115a657815161044390611bd9565b5090565b6115b2612950565b604082015160ff1615806115cd5750604082015160ff166001145b806116065750604082015160ff1660071480156115f257506019826060015160ff1610155b80156116065750601b826060015160ff1611155b156116395761161482611f2e565b6001600160401b0316826000015160200181815161163291906137ea565b9052505090565b604082015160ff16600314806116565750604082015160ff166002145b1561169a57600061166f83600001518460600151611f9b565b9050806001600160401b0316836000015160200181815161169091906137ea565b9052506115a69050565b604082015160ff16600414806116b75750604082015160ff166005145b156116e0576116ce82600001518360600151611f9b565b6001600160401b031660808301525090565b604082015160ff1660071415806117125750816060015160ff166014141580156117125750816060015160ff16601514155b156115a65760405162461bcd60e51b815260206004820152602760248201527f5769746e657443424f522e736b69703a20756e737570706f72746564206d616a6044820152666f72207479706560c81b606482015260840161038b565b6000600460ff16836040015160ff160361180c57600061178e8461205c565b905060018151111561180257826117d5576117d081600283516117b1919061387c565b815181106117c1576117c16135d4565b6020026020010151600161176f565b6117fa565b6117fa816000815181106117eb576117eb6135d4565b6020026020010151600061176f565b915050610443565b6000915050610443565b604083015160ff166118d55782516020015160006118298561220c565b905060006040518060a001604052806080815260200161394d60809139518211611884576040518060a001604052806080815260200161394d608091398281518110611877576118776135d4565b016020015160f81c611887565b60ff5b9050601360ff821611156118b657855151604051631aef51bd60e31b815261038b91908590859060040161388f565b8060ff1660138111156118cb576118cb6133fd565b9350505050610443565b604080840151905161800560e51b81526000600482015260ff909116602482015260440161038b565b60606000806000905060008080600080600080600060038d511015611932578c60009a509a50505050505050505050611b8e565b6040518d51909b5060208e810197508c019450600119015b808a1015611b1e57601760fa1b6001600160f81b0319168e8b81518110611973576119736135d4565b01602001516001600160f81b0319161480156119bf5750601760fa1b6001600160f81b0319168e8b600201815181106119ae576119ae6135d4565b01602001516001600160f81b031916145b80156119fc5750600360fc1b6001600160f81b0319168e8b600101815181106119ea576119ea6135d4565b01602001516001600160f81b03191610155b8015611a395750603960f81b6001600160f81b0319168e8b60010181518110611a2757611a276135d4565b01602001516001600160f81b03191611155b15611b1357888a039750888a1115611a6657611a5685888a611b95565b9587016003019593870193611a6d565b6003870196505b6000600360fc1b60f81c8f8c60010181518110611a8c57611a8c6135d4565b602001015160f81c60f81b60f81c0360ff1690508d518110611ad0578d516040516306786e0760e21b8152600183016004820152602481019190915260440161038b565b600181016020028e0151945084519350602085019250611af1868486611b95565b506001909a01996003999099019889985087830195909501949382019361194a565b60019099019861194a565b508c5198508415611b6f5787891115611b5c57611b458487611b408b8d61387c565b611b95565b611b4f888a61387c565b611b5990866137ea565b94505b848b526020850160405101604052611b84565b8c60009a509a50505050505050505050611b8e565b5050505050505050505b9250929050565b5b60208110611bb5578151835260209283019290910190601f1901611b96565b80156109f257905182516020929092036101000a6000190180199091169116179052565b611be1612950565b8151518290600003611c06576040516309036d4760e21b815260040160405180910390fd5b600060ff816001600160401b038160015b8015611c8957611c268961226f565b955081611c32816138bb565b6007600589901c169650601f881695509250506005198501611c81576020890151611c5d8a86611f9b565b9350808a60200151611c6f919061387c565b611c7990846137ea565b925050611c17565b506000611c17565b600760ff86161115611cb35760405163bd2ac87960e01b815260ff8616600482015260240161038b565b506040805160c08101825298895260ff95861660208a015293851693880193909352921660608601526001600160401b0390811660808601521660a08401525090919050565b60608160038060ff16826040015160ff1614611d3957604080830151905161800560e51b815260ff9182166004820152908216602482015260440161038b565b611d4b84600001518560600151611f9b565b6001600160401b03166080850181905267fffffffffffffffe1901611de85760005b80611de2576000611d86866000015187604001516122d1565b90506001600160401b038082161015611dd75784611db0611da860048461362f565b885190612377565b604051602001611dc19291906135ea565b6040516020818303038152906040529450611ddc565b600191505b50611d6d565b50611dfb565b60808401518451611df891612377565b92505b5050919050565b60208301518351518391611e159161387c565b611e209060016137ea565b80821115611e4b576040516363a056dd60e01b8152600481018390526024810182905260440161038b565b60408051600380825260808201909252600091816020015b6060815260200190600190039081611e63579050509050611e8a86600088602001516124fe565b81600081518110611e9d57611e9d6135d4565b60200260200101819052508381600181518110611ebc57611ebc6135d4565b6020026020010181905250611efd86868860200151611edb91906137ea565b60208901518951518991611eee9161387c565b611ef8919061387c565b6124fe565b81600281518110611f1057611f106135d4565b6020026020010181905250611f248161146b565b9095525050505050565b60006018826060015160ff161015611f4857506000919050565b601c826060015160ff161015611f775760188260600151611f6991906138d4565b60ff166001901b9050919050565b6060820151604051636d785b1360e01b815260ff909116600482015260240161038b565b600060188260ff161015611fb3575060ff8116610443565b8160ff16601803611fd157611fc78361226f565b60ff169050610443565b8160ff16601903611ff057611fe5836125a4565b61ffff169050610443565b8160ff16601a036120115761200483612610565b63ffffffff169050610443565b8160ff16601b036120255761039f8361266f565b8160ff16601f0361203e57506001600160401b03610443565b604051636d785b1360e01b815260ff8316600482015260240161038b565b60608160048060ff16826040015160ff161461209c57604080830151905161800560e51b815260ff9182166004820152908216602482015260440161038b565b60006120b085600001518660600151611f9b565b90506120bd8160016138ed565b6001600160401b03166001600160401b038111156120dd576120dd6129eb565b60405190808252806020026020018201604052801561211657816020015b612103612950565b8152602001906001900390816120fb5790505b50935060005b816001600160401b03168110156121dc5761213686611582565b9550612141866126ce565b858281518110612153576121536135d4565b6020026020010181905250600460ff16866040015160ff16036121ac57600061217b8761205c565b9050806001825161218c919061387c565b8151811061219c5761219c6135d4565b60200260200101519650506121d4565b600560ff16866040015160ff16036121c957600061217b87612766565b6121d2866115aa565b505b60010161211c565b508484826001600160401b0316815181106121f9576121f96135d4565b6020026020010181905250505050919050565b60008160008060ff16826040015160ff161461224c57604080830151905161800560e51b815260ff9182166004820152908216602482015260440161038b565b61225e84600001518560600151611f9b565b6001600160401b0316949350505050565b60008160200151826000015151808211156122a7576040516363a056dd60e01b8152600481018390526024810182905260440161038b565b83516020850180518083016001015195509081906122c4826138bb565b8152505050505050919050565b6000806122dd8461226f565b90508060ff1660ff036122fa576001600160401b03915050610443565b6123078482601f16611f9b565b91506001600160401b038083161061233d57604051636d785b1360e01b81526001600160401b038316600482015260240161038b565b60ff83166007600583901c1614610b495760405161800560e51b81526007600583901c16600482015260ff8416602482015260440161038b565b6060816001600160401b03166001600160401b0381111561239a5761239a6129eb565b6040519080825280601f01601f1916602001820160405280156123c4576020820181803683370190505b50905060005b826001600160401b0316816001600160401b031610156124f55760006123ef8561226f565b905060808116156124b65760e08160ff16101561242b5761240f8561226f565b603f16600682601f1660ff16901b1790506001840393506124b6565b60f08160ff161015612470576124408561226f565b603f16600661244e8761226f565b603f1660ff16901b600c83600f1660ff16901b171790506002840393506124b6565b6124798561226f565b603f1660066124878761226f565b603f16901b600c6124978861226f565b603f1660ff16901b601284600f1660ff16901b17171790506003840393505b8060f81b83836001600160401b0316815181106124d5576124d56135d4565b60200101906001600160f81b031916908160001a905350506001016123ca565b50908152919050565b606061250a82846137ea565b84515180821115612538576040516363a056dd60e01b8152600481018390526024810182905260440161038b565b85516000856001600160401b03811115612554576125546129eb565b6040519080825280601f01601f19166020018201604052801561257e576020820181803683370190505b5090506020808201908389010161259682828a611b95565b509098975050505050505050565b6000816020015160026125b791906137ea565b825151808211156125e5576040516363a056dd60e01b8152600481018390526024810182905260440161038b565b835160208501805160028184018101519650909161260382846137ea565b9052509395945050505050565b60008160200151600461262391906137ea565b82515180821115612651576040516363a056dd60e01b8152600481018390526024810182905260440161038b565b835160208501805160048184018101519650909161260382846137ea565b60008160200151600861268291906137ea565b825151808211156126b0576040516363a056dd60e01b8152600481018390526024810182905260440161038b565b835160208501805160088184018101519650909161260382846137ea565b6126d6612950565b6040805160c081018083528451610100830184526060909152600060e0830152825180840190935280518352602090810151908301529081908152602001836020015160ff168152602001836040015160ff168152602001836060015160ff16815260200183608001516001600160401b031681526020018360a001516001600160401b03168152509050919050565b60608160058060ff16826040015160ff16146127a657604080830151905161800560e51b815260ff9182166004820152908216602482015260440161038b565b60006127ba85600001518660600151611f9b565b6127c590600261390d565b90506127d28160016138ed565b6001600160401b03166001600160401b038111156127f2576127f26129eb565b60405190808252806020026020018201604052801561282b57816020015b612818612950565b8152602001906001900390816128105790505b50935060005b816001600160401b03168110156121dc5761284b86611582565b9550612856866126ce565b858281518110612868576128686135d4565b602090810291909101015261287e600282613938565b1580156128935750604086015160ff16600314155b156128c157604080870151905161800560e51b815260ff90911660048201526003602482015260440161038b565b604086015160ff16600414806128de5750604086015160ff166005145b1561293d57604086015160009060ff16600414612903576128fe87612766565b61290c565b61290c8761205c565b9050806001825161291d919061387c565b8151811061292d5761292d6135d4565b6020026020010151965050612948565b612946866115aa565b505b600101612831565b604080516101008101909152606060c08201908152600060e08301528190815260006020820181905260408201819052606082018190526080820181905260a09091015290565b80356014811061144f57600080fd5b803561ffff8116811461144f57600080fd5b600080604083850312156129cb57600080fd5b6129d483612997565b91506129e2602084016129a6565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715612a2357612a236129eb565b60405290565b60405160e081016001600160401b0381118282101715612a2357612a236129eb565b604051601f8201601f191681016001600160401b0381118282101715612a7357612a736129eb565b604052919050565b600082601f830112612a8c57600080fd5b81356001600160401b03811115612aa557612aa56129eb565b612ab8601f8201601f1916602001612a4b565b818152846020838601011115612acd57600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215612afc57600080fd5b81356001600160401b03811115612b1257600080fd5b612b1e84828501612a7b565b949350505050565b60005b83811015612b41578181015183820152602001612b29565b50506000910152565b60008151808452612b62816020860160208601612b26565b601f01601f19169290920160200192915050565b6020815260006114e66020830184612b4a565b80356005811061144f57600080fd5b60006001600160401b03821115612bb157612bb16129eb565b5060051b60200190565b600082601f830112612bcc57600080fd5b81356020612be1612bdc83612b98565b612a4b565b82815260059290921b84018101918181019086841115612c0057600080fd5b8286015b84811015612c9e5780356001600160401b0380821115612c245760008081fd5b818901915089603f830112612c395760008081fd5b612c41612a01565b80606084018c811115612c545760008081fd5b8885015b81811015612c8c57803585811115612c705760008081fd5b612c7e8f8c838a0101612a7b565b855250928901928901612c58565b50508652505050918301918301612c04565b509695505050505050565b600080600080600060a08688031215612cc157600080fd5b612cca86612b89565b945060208601356001600160401b0380821115612ce657600080fd5b612cf289838a01612a7b565b95506040880135915080821115612d0857600080fd5b612d1489838a01612a7b565b94506060880135915080821115612d2a57600080fd5b612d3689838a01612bbb565b93506080880135915080821115612d4c57600080fd5b50612d5988828901612a7b565b9150509295509295909350565b8035600c811061144f57600080fd5b600060408284031215612d8757600080fd5b612d8f612a01565b90508135600a8110612da057600080fd5b815260208201356001600160401b03811115612dbb57600080fd5b612dc784828501612a7b565b60208301525092915050565b60006020808385031215612de657600080fd5b82356001600160401b0380821115612dfd57600080fd5b9084019060408287031215612e1157600080fd5b612e19612a01565b612e2283612d66565b81528383013582811115612e3557600080fd5b80840193505086601f840112612e4a57600080fd5b8235612e58612bdc82612b98565b81815260059190911b84018501908581019089831115612e7757600080fd5b8686015b83811015612eaf57803586811115612e935760008081fd5b612ea18c8a838b0101612d75565b845250918701918701612e7b565b5095830195909552509695505050505050565b600060208284031215612ed457600080fd5b6114e682612d66565b803560ff8116811461144f57600080fd5b80356001600160401b038116811461144f57600080fd5b600060a08284031215612f1757600080fd5b60405160a081018181106001600160401b0382111715612f3957612f396129eb565b604052612f4583612edd565b8152612f5360208401612edd565b6020820152612f6460408401612eee565b6040820152612f7560608401612eee565b6060820152612f8660808401612eee565b60808201529392505050565b600060e08284031215612fa457600080fd5b612fac612a29565b9050612fb782612edd565b8152612fc560208301612b89565b6020820152612fd660408301612997565b604082015260608201356001600160401b0380821115612ff557600080fd5b61300185838601612a7b565b6060840152608084013591508082111561301a57600080fd5b61302685838601612a7b565b608084015260a084013591508082111561303f57600080fd5b61304b85838601612bbb565b60a084015260c084013591508082111561306457600080fd5b5061307184828501612a7b565b60c08301525092915050565b600082601f83011261308e57600080fd5b8135602061309e612bdc83612b98565b82815260059290921b840181019181810190868411156130bd57600080fd5b8286015b84811015612c9e5780356001600160401b038111156130e05760008081fd5b6130ee8986838b0101612a7b565b8452509183019183016130c1565b6000806040838503121561310f57600080fd5b82356001600160401b038082111561312657600080fd5b61313286838701612f92565b9350602085013591508082111561314857600080fd5b506131558582860161307d565b9150509250929050565b6000806040838503121561317257600080fd5b82356001600160401b0381111561318857600080fd5b61319485828601612a7b565b95602094909401359450505050565b6000602082840312156131b557600080fd5b81356001600160401b038111156131cb57600080fd5b612b1e84828501612d75565b600080604083850312156131ea57600080fd5b6131f383612eee565b915060208301356001600160f81b03198116811461321057600080fd5b809150509250929050565b600082601f83011261322c57600080fd5b8135602061323c612bdc83612b98565b82815260059290921b8401810191818101908684111561325b57600080fd5b8286015b84811015612c9e5780356001600160401b0381111561327e5760008081fd5b61328c8986838b010161307d565b84525091830191830161325f565b600080600080600060a086880312156132b257600080fd5b85356001600160401b03808211156132c957600080fd5b818801915088601f8301126132dd57600080fd5b813560206132ed612bdc83612b98565b82815260059290921b8401810191818101908c84111561330c57600080fd5b8286015b84811015613344578035868111156133285760008081fd5b6133368f86838b0101612f92565b845250918301918301613310565b509950508901359250508082111561335b57600080fd5b61336789838a0161321b565b9550604088013591508082111561337d57600080fd5b61338989838a01612a7b565b9450606088013591508082111561339f57600080fd5b506133ac88828901612a7b565b9250506133bb608087016129a6565b90509295509295909350565b600080604083850312156133da57600080fd5b82356001600160401b03808211156133f157600080fd5b61313286838701612a7b565b634e487b7160e01b600052602160045260246000fd5b6020810160148310613427576134276133fd565b91905290565b60006020828403121561343f57600080fd5b81356001600160401b0381111561345557600080fd5b612b1e84828501612f92565b634e487b7160e01b600052601160045260246000fd5b61ffff818116838216019080821115610b4957610b49613461565b600082825180855260208086019550808260051b8401018186016000805b8581101561350a57868403601f19018a5282518460408101845b60028110156134f55787820383526134e3828551612b4a565b938901939289019291506001016134ca565b509b87019b95505050918401916001016134b0565b509198975050505050505050565b60ff851681526080602082015260006135346080830186612b4a565b82810360408401526135468186612b4a565b9050828103606084015261355a8185613492565b979650505050505050565b600060058710613577576135776133fd565b86825260a0602083015261358e60a0830187612b4a565b82810360408401526135a08187612b4a565b905082810360608401526135b48186613492565b905082810360808401526135c88185612b4a565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b600083516135fc818460208801612b26565b835190830190613610818360208801612b26565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b60006001600160401b038084168061364957613649613619565b92169190910492915050565b60008651613667818460208b01612b26565b86519083019061367b818360208b01612b26565b865191019061368e818360208a01612b26565b85519101906136a1818360208901612b26565b84519101906136b4818360208801612b26565b01979650505050505050565b60ff60f81b8360f81b168152600082516136e1816001850160208701612b26565b919091016001019392505050565b60ff60f81b8460f81b16815260008351613710816001850160208801612b26565b835190830190613727816001840160208801612b26565b0160010195945050505050565b60ff83168152604060208201526000612b1e6040830184612b4a565b60008551613762818460208a01612b26565b855190830190613776818360208a01612b26565b8551910190613789818360208901612b26565b845191019061379c818360208801612b26565b019695505050505050565b600084516137b9818460208901612b26565b8451908301906137cd818360208901612b26565b84519101906137e0818360208801612b26565b0195945050505050565b8082018082111561044357610443613461565b6000875160206138108285838d01612b26565b8851918401916138238184848d01612b26565b88519201916138358184848c01612b26565b87519201916138478184848b01612b26565b86519201916138598184848a01612b26565b855192019161386b8184848901612b26565b919091019998505050505050505050565b8181038181111561044357610443613461565b6060815260006138a26060830186612b4a565b905083602083015260ff83166040830152949350505050565b6000600182016138cd576138cd613461565b5060010190565b60ff828116828216039081111561044357610443613461565b6001600160401b03818116838216019080821115610b4957610b49613461565b6001600160401b0381811683821602808216919082811461393057613930613461565b505092915050565b60008261394757613947613619565b50069056fe10ffffffffffffffffffffffffffffff040100010203050406071311ff0101ff07ff02ffffffffffffffffffffffffff070304ff04ffffffffffffff03ffffff0405070202ff0404040403ffffffffff05070402040205050505ff04ff04ffff07010203050406070101ff06ffff06ff0203050404000106060707070701ffff5769746e6574456e636f64696e674c69623a20696e76616c696420534c413a20a2646970667358221220e1fe8630739ab4f0d03f84a155da11b2d0b45288740a87663e18eb342d9c9a5a64736f6c63430008190033",
  "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106101205760003560e01c8063a8c06a13116100ac578063c5f3674a1161007b578063c5f3674a14610251578063daf4b0ef14610264578063dfaecd1114610277578063f3106f781461028a578063fa5dce12146102aa57600080fd5b8063a8c06a1314610205578063a97b1d3114610218578063acbade1f1461022b578063b6349ebd1461023e57600080fd5b8063203003b1116100f3578063203003b1146101a45780632461ccf3146101b75780632d81a542146101cc5780633b1e539b146101df5780636a11b2a8146101f257600080fd5b80630160730f1461012557806312496a1b1461015057806317464727146101705780631c02d22b14610191575b600080fd5b6101386101333660046129b8565b6102bd565b60405161ffff90911681526020015b60405180910390f35b61016361015e366004612aea565b610449565b6040516101479190612b76565b61018361017e366004612ca9565b610456565b604051908152602001610147565b61016361019f366004612dd3565b61055f565b6101636101b2366004612ec2565b6105f9565b6101ca6101c5366004612f05565b61061a565b005b6101636101da366004612f05565b6108b5565b6101ca6101ed3660046130fc565b61092c565b610163610200366004612aea565b6109f7565b61016361021336600461315f565b610a00565b6101ca6102263660046131a3565b610b50565b6101636102393660046131d7565b610c14565b61016361024c36600461329a565b610d7d565b61016361025f3660046131a3565b610eb9565b6101ca610272366004612dd3565b610f7b565b6101636102853660046133c7565b61107d565b61029d610298366004612aea565b6110e4565b6040516101479190613413565b6101636102b836600461342d565b6110f9565b6000808360138111156102d2576102d26133fd565b14806102ef575060078360138111156102ed576102ed6133fd565b145b8061030b57506003836013811115610309576103096133fd565b145b8061032757506001836013811115610325576103256133fd565b145b8061034357506006836013811115610341576103416133fd565b145b156103a6578161ffff1660000361039457826013811115610366576103666133fd565b604051637aba172760e01b815260ff909116600482015261ffff831660248201526044015b60405180910390fd5b61039f826003613477565b9050610443565b60048360138111156103ba576103ba6133fd565b14806103d7575060058360138111156103d5576103d56133fd565b145b806103f3575060028360138111156103f1576103f16133fd565b145b1561040057506009610443565b826013811115610412576104126133fd565b61041b846113e6565b604051637aba172760e01b815260ff909216600483015261ffff16602482015260440161038b565b92915050565b6060610443826002610a00565b60008085511180156104b057506001866004811115610477576104776133fd565b148061049457506003866004811115610492576104926133fd565b145b806104b0575060048660048111156104ae576104ae6133fd565b145b806104ef575060028660048111156104ca576104ca6133fd565b1480156104d657508451155b80156104e157508251155b80156104ef57506001825110155b61052557856004811115610505576105056133fd565b858585604051633a3cb62160e01b815260040161038b9493929190613518565b858585858560405160200161053e959493929190613565565b60405160208183030381529060405280519060200120905095945050505050565b606060005b8260200151518110156105c357816105988460200151838151811061058b5761058b6135d4565b6020026020010151610eb9565b6040516020016105a99291906135ea565b60408051601f198184030181529190529150600101610564565b50806105d283600001516105f9565b6040516020016105e39291906135ea565b6040516020818303038152906040529050919050565b606061044382600b811115610610576106106133fd565b600160fc1b610c14565b80604001516001600160401b03166000036106775760405162461bcd60e51b815260206004820152602960248201526000805160206139cd8339815191526044820152681b9bc81c995dd85c9960ba1b606482015260840161038b565b805160ff166000036106ce5760405162461bcd60e51b815260206004820152602c60248201526000805160206139cd83398151915260448201526b6e6f207769746e657373657360a01b606482015260840161038b565b607f816000015160ff16111561073a5760405162461bcd60e51b815260206004820152603960248201526000805160206139cd83398151915260448201527f746f6f206d616e79207769746e657373657320283e3132372900000000000000606482015260840161038b565b6033816020015160ff16108061075757506063816020015160ff16115b156107c25760405162461bcd60e51b815260206004820152604160248201526000805160206139cd83398151915260448201527f636f6e73656e7375732070657263656e74616765206f7574206f662072616e676064820152606560f81b608482015260a40161038b565b60608101516001600160401b0316156108215760405162461bcd60e51b815260206004820152602d60248201526000805160206139cd83398151915260448201526c1b9bc818dbdb1b185d195c985b609a1b606482015260840161038b565b607f81604001518260600151610837919061362f565b6001600160401b031611156108b25760405162461bcd60e51b815260206004820152604760248201526000805160206139cd83398151915260448201527f636f6c6c61746572616c2f72657761726420726174696f20746f6f206869676860648201526620283e3132372960c81b608482015260a40161038b565b50565b60606108c98260400151601060f81b610c14565b82516108dc9060ff16600360fb1b610c14565b60808401516108ef90600160fd1b610c14565b60208501516109059060ff16600560fb1b610c14565b606086015161091890600360fc1b610c14565b6040516020016105e3959493929190613655565b61093a826060015182611454565b6060830152608082015161094e9082611454565b608083015260c0820151610962908261107d565b60c083015260005b8260a00151518110156109f2576109b58360a001518281518110610990576109906135d4565b60200260200101516001600281106109aa576109aa6135d4565b602002015183611454565b8360a0015182815181106109cb576109cb6135d4565b60200260200101516001600281106109e5576109e56135d4565b602002015260010161096a565b505050565b60606104438260035b81516060906017811015610a41578060ff16600584901b1784604051602001610a2a9291906136c0565b604051602081830303815290604052915050610443565b600583901b606060ff8311610a88576040516001600160f81b031960f885901b166020820152601892909217916021015b6040516020818303038152906040529050610b1b565b61ffff8311610ab7576040516001600160f01b031960f085901b16602082015260199290921791602201610a72565b63ffffffff8311610ae8576040516001600160e01b031960e085901b166020820152601a9290921791602401610a72565b6040516001600160c01b031960c085901b166020820152601b929092179160280160405160208183030381529060405290505b818187604051602001610b30939291906136ef565b6040516020818303038152906040529350505050610443565b5092915050565b600581516009811115610b6557610b656133fd565b03610baa578060200151516000036108b25780516009811115610b8a57610b8a6133fd565b81602001516040516319037b1360e31b815260040161038b929190613734565b600881516009811115610bbf57610bbf6133fd565b03610be257602081015151156108b25780516009811115610b8a57610b8a6133fd565b80516009811115610bf557610bf56133fd565b60405163ddb08eaf60e01b815260ff909116600482015260240161038b565b60608260025b607f826001600160401b03161115610c47576007826001600160401b0316901c9150600181019050610c1a565b806001600160401b03166001600160401b03811115610c6857610c686129eb565b6040519080825280601f01601f191660200182016040528015610c92576020820181803683370190505b5092508491508383600081518110610cac57610cac6135d4565b60200101906001600160f81b031916908160001a90535060015b816001600160401b0316816001600160401b03161015610d355782607f1660801760f81b84826001600160401b031681518110610d0557610d056135d4565b60200101906001600160f81b031916908160001a90535060079290921c6701ffffffffffffff1691600101610cc6565b50607f60f81b83600183036001600160401b031681518110610d5957610d596135d4565b0160200180519091166001600160f81b03191690600082901a905350505092915050565b6060600086516001600160401b03811115610d9a57610d9a6129eb565b604051908082528060200260200182016040528015610dcd57816020015b6060815260200190600190039081610db85790505b50905060005b8751811015610e5f57610e18888281518110610df157610df16135d4565b6020026020010151888381518110610e0b57610e0b6135d4565b602002602001015161092c565b610e3a888281518110610e2d57610e2d6135d4565b60200260200101516110f9565b828281518110610e4c57610e4c6135d4565b6020908102919091010152600101610dd3565b50610e698161146b565b8551610e7990600d60f91b610c14565b86610e898751602260f81b610c14565b87604051602001610e9e959493929190613655565b60405160208183030381529060405291505095945050505050565b6060610ede82600001516009811115610ed457610ed46133fd565b600160fb1b610c14565b600083602001515111610f005760405180602001604052806000815250610f38565b602083015151610f1490600960f91b610c14565b602080850151604051610f289392016135ea565b6040516020818303038152906040525b604051602001610f499291906135ea565b6040516020818303038152906040529050610f698151600a60f81b610c14565b816040516020016105e39291906135ea565b60038151600b811115610f9057610f906133fd565b1480610fae575060078151600b811115610fac57610fac6133fd565b145b80610fcb575060028151600b811115610fc957610fc96133fd565b145b80610fe85750600b8151600b811115610fe657610fe66133fd565b145b80611005575060058151600b811115611003576110036133fd565b145b61103b578051600b81111561101c5761101c6133fd565b60405163a1165d6360e01b815260ff909116600482015260240161038b565b60005b8160200151518110156110795761107182602001518281518110611064576110646135d4565b6020026020010151610b50565b60010161103e565b5050565b6060600061108a846114c1565b90505b805180515160209091015110156110db57600360ff16816040015160ff16036110ca576110ba81846114ed565b6110c381611582565b905061108d565b6110c36110d6826115aa565b611582565b51519392505050565b60006104436110f2836114c1565b600061176f565b6060600061111683602001516004811115610ed457610ed46133fd565b90506060600084606001515111156111645760608401515161113c90600960f91b610c14565b84606001516040516020016111529291906135ea565b60405160208183030381529060405290505b60c084015151606090156111ae5760c08501515161118690600d60f91b610c14565b8560c0015160405160200161119c9291906135ea565b60405160208183030381529060405290505b608085015151606090156111f8576080860151516111d090601160f91b610c14565b86608001516040516020016111e69291906135ea565b60405160208183030381529060405290505b60a0860151516060901561136c5760005b8760a001515181101561136a57600061125b8960a001518381518110611231576112316135d4565b602002602001015160006002811061124b5761124b6135d4565b602002015151600560f91b610c14565b8960a001518381518110611271576112716135d4565b602002602001015160006002811061128b5761128b6135d4565b60200201516112d38b60a0015185815181106112a9576112a96135d4565b60200260200101516001600281106112c3576112c36135d4565b602002015151600960f91b610c14565b8b60a0015185815181106112e9576112e96135d4565b6020026020010151600160028110611303576113036135d4565b602002015160405160200161131b9493929190613750565b60405160208183030381529060405290508261133c8251602a60f81b610c14565b8260405160200161134f939291906137a7565b60408051601f19818403018152919052925050600101611209565b505b60008151835185518751895161138291906137ea565b61138c91906137ea565b61139691906137ea565b6113a091906137ea565b90506113b081600960f91b610c14565b86868686866040516020016113ca969594939291906137fd565b6040516020818303038152906040529650505050505050919050565b600060048260138111156113fc576113fc6133fd565b148061141957506005826013811115611417576114176133fd565b145b1561142657506009919050565b600282601381111561143a5761143a6133fd565b0361144757506001919050565b506000919050565b919050565b6060600061146284846118fe565b50949350505050565b60405160208101600060015b845181116114ab576020818102860151805190918201611498868284611b95565b5093840193929092019150600101611477565b5080835260208101604051016040525050919050565b6114c9612950565b60408051808201909152828152600060208201526114e681611bd9565b9392505050565b60808201518251602001516001600160401b0390911690600061150f85611cf9565b905060008061151e83876118fe565b90925090508015611579576000611534836109f7565b9050611540868661387c565b8851602001528351611560906115579088906137ea565b89519083611e02565b8051885160200180516115749083906137ea565b905250505b50505050505050565b61158a612950565b815180515160209091015110156115a657815161044390611bd9565b5090565b6115b2612950565b604082015160ff1615806115cd5750604082015160ff166001145b806116065750604082015160ff1660071480156115f257506019826060015160ff1610155b80156116065750601b826060015160ff1611155b156116395761161482611f2e565b6001600160401b0316826000015160200181815161163291906137ea565b9052505090565b604082015160ff16600314806116565750604082015160ff166002145b1561169a57600061166f83600001518460600151611f9b565b9050806001600160401b0316836000015160200181815161169091906137ea565b9052506115a69050565b604082015160ff16600414806116b75750604082015160ff166005145b156116e0576116ce82600001518360600151611f9b565b6001600160401b031660808301525090565b604082015160ff1660071415806117125750816060015160ff166014141580156117125750816060015160ff16601514155b156115a65760405162461bcd60e51b815260206004820152602760248201527f5769746e657443424f522e736b69703a20756e737570706f72746564206d616a6044820152666f72207479706560c81b606482015260840161038b565b6000600460ff16836040015160ff160361180c57600061178e8461205c565b905060018151111561180257826117d5576117d081600283516117b1919061387c565b815181106117c1576117c16135d4565b6020026020010151600161176f565b6117fa565b6117fa816000815181106117eb576117eb6135d4565b6020026020010151600061176f565b915050610443565b6000915050610443565b604083015160ff166118d55782516020015160006118298561220c565b905060006040518060a001604052806080815260200161394d60809139518211611884576040518060a001604052806080815260200161394d608091398281518110611877576118776135d4565b016020015160f81c611887565b60ff5b9050601360ff821611156118b657855151604051631aef51bd60e31b815261038b91908590859060040161388f565b8060ff1660138111156118cb576118cb6133fd565b9350505050610443565b604080840151905161800560e51b81526000600482015260ff909116602482015260440161038b565b60606000806000905060008080600080600080600060038d511015611932578c60009a509a50505050505050505050611b8e565b6040518d51909b5060208e810197508c019450600119015b808a1015611b1e57601760fa1b6001600160f81b0319168e8b81518110611973576119736135d4565b01602001516001600160f81b0319161480156119bf5750601760fa1b6001600160f81b0319168e8b600201815181106119ae576119ae6135d4565b01602001516001600160f81b031916145b80156119fc5750600360fc1b6001600160f81b0319168e8b600101815181106119ea576119ea6135d4565b01602001516001600160f81b03191610155b8015611a395750603960f81b6001600160f81b0319168e8b60010181518110611a2757611a276135d4565b01602001516001600160f81b03191611155b15611b1357888a039750888a1115611a6657611a5685888a611b95565b9587016003019593870193611a6d565b6003870196505b6000600360fc1b60f81c8f8c60010181518110611a8c57611a8c6135d4565b602001015160f81c60f81b60f81c0360ff1690508d518110611ad0578d516040516306786e0760e21b8152600183016004820152602481019190915260440161038b565b600181016020028e0151945084519350602085019250611af1868486611b95565b506001909a01996003999099019889985087830195909501949382019361194a565b60019099019861194a565b508c5198508415611b6f5787891115611b5c57611b458487611b408b8d61387c565b611b95565b611b4f888a61387c565b611b5990866137ea565b94505b848b526020850160405101604052611b84565b8c60009a509a50505050505050505050611b8e565b5050505050505050505b9250929050565b5b60208110611bb5578151835260209283019290910190601f1901611b96565b80156109f257905182516020929092036101000a6000190180199091169116179052565b611be1612950565b8151518290600003611c06576040516309036d4760e21b815260040160405180910390fd5b600060ff816001600160401b038160015b8015611c8957611c268961226f565b955081611c32816138bb565b6007600589901c169650601f881695509250506005198501611c81576020890151611c5d8a86611f9b565b9350808a60200151611c6f919061387c565b611c7990846137ea565b925050611c17565b506000611c17565b600760ff86161115611cb35760405163bd2ac87960e01b815260ff8616600482015260240161038b565b506040805160c08101825298895260ff95861660208a015293851693880193909352921660608601526001600160401b0390811660808601521660a08401525090919050565b60608160038060ff16826040015160ff1614611d3957604080830151905161800560e51b815260ff9182166004820152908216602482015260440161038b565b611d4b84600001518560600151611f9b565b6001600160401b03166080850181905267fffffffffffffffe1901611de85760005b80611de2576000611d86866000015187604001516122d1565b90506001600160401b038082161015611dd75784611db0611da860048461362f565b885190612377565b604051602001611dc19291906135ea565b6040516020818303038152906040529450611ddc565b600191505b50611d6d565b50611dfb565b60808401518451611df891612377565b92505b5050919050565b60208301518351518391611e159161387c565b611e209060016137ea565b80821115611e4b576040516363a056dd60e01b8152600481018390526024810182905260440161038b565b60408051600380825260808201909252600091816020015b6060815260200190600190039081611e63579050509050611e8a86600088602001516124fe565b81600081518110611e9d57611e9d6135d4565b60200260200101819052508381600181518110611ebc57611ebc6135d4565b6020026020010181905250611efd86868860200151611edb91906137ea565b60208901518951518991611eee9161387c565b611ef8919061387c565b6124fe565b81600281518110611f1057611f106135d4565b6020026020010181905250611f248161146b565b9095525050505050565b60006018826060015160ff161015611f4857506000919050565b601c826060015160ff161015611f775760188260600151611f6991906138d4565b60ff166001901b9050919050565b6060820151604051636d785b1360e01b815260ff909116600482015260240161038b565b600060188260ff161015611fb3575060ff8116610443565b8160ff16601803611fd157611fc78361226f565b60ff169050610443565b8160ff16601903611ff057611fe5836125a4565b61ffff169050610443565b8160ff16601a036120115761200483612610565b63ffffffff169050610443565b8160ff16601b036120255761039f8361266f565b8160ff16601f0361203e57506001600160401b03610443565b604051636d785b1360e01b815260ff8316600482015260240161038b565b60608160048060ff16826040015160ff161461209c57604080830151905161800560e51b815260ff9182166004820152908216602482015260440161038b565b60006120b085600001518660600151611f9b565b90506120bd8160016138ed565b6001600160401b03166001600160401b038111156120dd576120dd6129eb565b60405190808252806020026020018201604052801561211657816020015b612103612950565b8152602001906001900390816120fb5790505b50935060005b816001600160401b03168110156121dc5761213686611582565b9550612141866126ce565b858281518110612153576121536135d4565b6020026020010181905250600460ff16866040015160ff16036121ac57600061217b8761205c565b9050806001825161218c919061387c565b8151811061219c5761219c6135d4565b60200260200101519650506121d4565b600560ff16866040015160ff16036121c957600061217b87612766565b6121d2866115aa565b505b60010161211c565b508484826001600160401b0316815181106121f9576121f96135d4565b6020026020010181905250505050919050565b60008160008060ff16826040015160ff161461224c57604080830151905161800560e51b815260ff9182166004820152908216602482015260440161038b565b61225e84600001518560600151611f9b565b6001600160401b0316949350505050565b60008160200151826000015151808211156122a7576040516363a056dd60e01b8152600481018390526024810182905260440161038b565b83516020850180518083016001015195509081906122c4826138bb565b8152505050505050919050565b6000806122dd8461226f565b90508060ff1660ff036122fa576001600160401b03915050610443565b6123078482601f16611f9b565b91506001600160401b038083161061233d57604051636d785b1360e01b81526001600160401b038316600482015260240161038b565b60ff83166007600583901c1614610b495760405161800560e51b81526007600583901c16600482015260ff8416602482015260440161038b565b6060816001600160401b03166001600160401b0381111561239a5761239a6129eb565b6040519080825280601f01601f1916602001820160405280156123c4576020820181803683370190505b50905060005b826001600160401b0316816001600160401b031610156124f55760006123ef8561226f565b905060808116156124b65760e08160ff16101561242b5761240f8561226f565b603f16600682601f1660ff16901b1790506001840393506124b6565b60f08160ff161015612470576124408561226f565b603f16600661244e8761226f565b603f1660ff16901b600c83600f1660ff16901b171790506002840393506124b6565b6124798561226f565b603f1660066124878761226f565b603f16901b600c6124978861226f565b603f1660ff16901b601284600f1660ff16901b17171790506003840393505b8060f81b83836001600160401b0316815181106124d5576124d56135d4565b60200101906001600160f81b031916908160001a905350506001016123ca565b50908152919050565b606061250a82846137ea565b84515180821115612538576040516363a056dd60e01b8152600481018390526024810182905260440161038b565b85516000856001600160401b03811115612554576125546129eb565b6040519080825280601f01601f19166020018201604052801561257e576020820181803683370190505b5090506020808201908389010161259682828a611b95565b509098975050505050505050565b6000816020015160026125b791906137ea565b825151808211156125e5576040516363a056dd60e01b8152600481018390526024810182905260440161038b565b835160208501805160028184018101519650909161260382846137ea565b9052509395945050505050565b60008160200151600461262391906137ea565b82515180821115612651576040516363a056dd60e01b8152600481018390526024810182905260440161038b565b835160208501805160048184018101519650909161260382846137ea565b60008160200151600861268291906137ea565b825151808211156126b0576040516363a056dd60e01b8152600481018390526024810182905260440161038b565b835160208501805160088184018101519650909161260382846137ea565b6126d6612950565b6040805160c081018083528451610100830184526060909152600060e0830152825180840190935280518352602090810151908301529081908152602001836020015160ff168152602001836040015160ff168152602001836060015160ff16815260200183608001516001600160401b031681526020018360a001516001600160401b03168152509050919050565b60608160058060ff16826040015160ff16146127a657604080830151905161800560e51b815260ff9182166004820152908216602482015260440161038b565b60006127ba85600001518660600151611f9b565b6127c590600261390d565b90506127d28160016138ed565b6001600160401b03166001600160401b038111156127f2576127f26129eb565b60405190808252806020026020018201604052801561282b57816020015b612818612950565b8152602001906001900390816128105790505b50935060005b816001600160401b03168110156121dc5761284b86611582565b9550612856866126ce565b858281518110612868576128686135d4565b602090810291909101015261287e600282613938565b1580156128935750604086015160ff16600314155b156128c157604080870151905161800560e51b815260ff90911660048201526003602482015260440161038b565b604086015160ff16600414806128de5750604086015160ff166005145b1561293d57604086015160009060ff16600414612903576128fe87612766565b61290c565b61290c8761205c565b9050806001825161291d919061387c565b8151811061292d5761292d6135d4565b6020026020010151965050612948565b612946866115aa565b505b600101612831565b604080516101008101909152606060c08201908152600060e08301528190815260006020820181905260408201819052606082018190526080820181905260a09091015290565b80356014811061144f57600080fd5b803561ffff8116811461144f57600080fd5b600080604083850312156129cb57600080fd5b6129d483612997565b91506129e2602084016129a6565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715612a2357612a236129eb565b60405290565b60405160e081016001600160401b0381118282101715612a2357612a236129eb565b604051601f8201601f191681016001600160401b0381118282101715612a7357612a736129eb565b604052919050565b600082601f830112612a8c57600080fd5b81356001600160401b03811115612aa557612aa56129eb565b612ab8601f8201601f1916602001612a4b565b818152846020838601011115612acd57600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215612afc57600080fd5b81356001600160401b03811115612b1257600080fd5b612b1e84828501612a7b565b949350505050565b60005b83811015612b41578181015183820152602001612b29565b50506000910152565b60008151808452612b62816020860160208601612b26565b601f01601f19169290920160200192915050565b6020815260006114e66020830184612b4a565b80356005811061144f57600080fd5b60006001600160401b03821115612bb157612bb16129eb565b5060051b60200190565b600082601f830112612bcc57600080fd5b81356020612be1612bdc83612b98565b612a4b565b82815260059290921b84018101918181019086841115612c0057600080fd5b8286015b84811015612c9e5780356001600160401b0380821115612c245760008081fd5b818901915089603f830112612c395760008081fd5b612c41612a01565b80606084018c811115612c545760008081fd5b8885015b81811015612c8c57803585811115612c705760008081fd5b612c7e8f8c838a0101612a7b565b855250928901928901612c58565b50508652505050918301918301612c04565b509695505050505050565b600080600080600060a08688031215612cc157600080fd5b612cca86612b89565b945060208601356001600160401b0380821115612ce657600080fd5b612cf289838a01612a7b565b95506040880135915080821115612d0857600080fd5b612d1489838a01612a7b565b94506060880135915080821115612d2a57600080fd5b612d3689838a01612bbb565b93506080880135915080821115612d4c57600080fd5b50612d5988828901612a7b565b9150509295509295909350565b8035600c811061144f57600080fd5b600060408284031215612d8757600080fd5b612d8f612a01565b90508135600a8110612da057600080fd5b815260208201356001600160401b03811115612dbb57600080fd5b612dc784828501612a7b565b60208301525092915050565b60006020808385031215612de657600080fd5b82356001600160401b0380821115612dfd57600080fd5b9084019060408287031215612e1157600080fd5b612e19612a01565b612e2283612d66565b81528383013582811115612e3557600080fd5b80840193505086601f840112612e4a57600080fd5b8235612e58612bdc82612b98565b81815260059190911b84018501908581019089831115612e7757600080fd5b8686015b83811015612eaf57803586811115612e935760008081fd5b612ea18c8a838b0101612d75565b845250918701918701612e7b565b5095830195909552509695505050505050565b600060208284031215612ed457600080fd5b6114e682612d66565b803560ff8116811461144f57600080fd5b80356001600160401b038116811461144f57600080fd5b600060a08284031215612f1757600080fd5b60405160a081018181106001600160401b0382111715612f3957612f396129eb565b604052612f4583612edd565b8152612f5360208401612edd565b6020820152612f6460408401612eee565b6040820152612f7560608401612eee565b6060820152612f8660808401612eee565b60808201529392505050565b600060e08284031215612fa457600080fd5b612fac612a29565b9050612fb782612edd565b8152612fc560208301612b89565b6020820152612fd660408301612997565b604082015260608201356001600160401b0380821115612ff557600080fd5b61300185838601612a7b565b6060840152608084013591508082111561301a57600080fd5b61302685838601612a7b565b608084015260a084013591508082111561303f57600080fd5b61304b85838601612bbb565b60a084015260c084013591508082111561306457600080fd5b5061307184828501612a7b565b60c08301525092915050565b600082601f83011261308e57600080fd5b8135602061309e612bdc83612b98565b82815260059290921b840181019181810190868411156130bd57600080fd5b8286015b84811015612c9e5780356001600160401b038111156130e05760008081fd5b6130ee8986838b0101612a7b565b8452509183019183016130c1565b6000806040838503121561310f57600080fd5b82356001600160401b038082111561312657600080fd5b61313286838701612f92565b9350602085013591508082111561314857600080fd5b506131558582860161307d565b9150509250929050565b6000806040838503121561317257600080fd5b82356001600160401b0381111561318857600080fd5b61319485828601612a7b565b95602094909401359450505050565b6000602082840312156131b557600080fd5b81356001600160401b038111156131cb57600080fd5b612b1e84828501612d75565b600080604083850312156131ea57600080fd5b6131f383612eee565b915060208301356001600160f81b03198116811461321057600080fd5b809150509250929050565b600082601f83011261322c57600080fd5b8135602061323c612bdc83612b98565b82815260059290921b8401810191818101908684111561325b57600080fd5b8286015b84811015612c9e5780356001600160401b0381111561327e5760008081fd5b61328c8986838b010161307d565b84525091830191830161325f565b600080600080600060a086880312156132b257600080fd5b85356001600160401b03808211156132c957600080fd5b818801915088601f8301126132dd57600080fd5b813560206132ed612bdc83612b98565b82815260059290921b8401810191818101908c84111561330c57600080fd5b8286015b84811015613344578035868111156133285760008081fd5b6133368f86838b0101612f92565b845250918301918301613310565b509950508901359250508082111561335b57600080fd5b61336789838a0161321b565b9550604088013591508082111561337d57600080fd5b61338989838a01612a7b565b9450606088013591508082111561339f57600080fd5b506133ac88828901612a7b565b9250506133bb608087016129a6565b90509295509295909350565b600080604083850312156133da57600080fd5b82356001600160401b03808211156133f157600080fd5b61313286838701612a7b565b634e487b7160e01b600052602160045260246000fd5b6020810160148310613427576134276133fd565b91905290565b60006020828403121561343f57600080fd5b81356001600160401b0381111561345557600080fd5b612b1e84828501612f92565b634e487b7160e01b600052601160045260246000fd5b61ffff818116838216019080821115610b4957610b49613461565b600082825180855260208086019550808260051b8401018186016000805b8581101561350a57868403601f19018a5282518460408101845b60028110156134f55787820383526134e3828551612b4a565b938901939289019291506001016134ca565b509b87019b95505050918401916001016134b0565b509198975050505050505050565b60ff851681526080602082015260006135346080830186612b4a565b82810360408401526135468186612b4a565b9050828103606084015261355a8185613492565b979650505050505050565b600060058710613577576135776133fd565b86825260a0602083015261358e60a0830187612b4a565b82810360408401526135a08187612b4a565b905082810360608401526135b48186613492565b905082810360808401526135c88185612b4a565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b600083516135fc818460208801612b26565b835190830190613610818360208801612b26565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b60006001600160401b038084168061364957613649613619565b92169190910492915050565b60008651613667818460208b01612b26565b86519083019061367b818360208b01612b26565b865191019061368e818360208a01612b26565b85519101906136a1818360208901612b26565b84519101906136b4818360208801612b26565b01979650505050505050565b60ff60f81b8360f81b168152600082516136e1816001850160208701612b26565b919091016001019392505050565b60ff60f81b8460f81b16815260008351613710816001850160208801612b26565b835190830190613727816001840160208801612b26565b0160010195945050505050565b60ff83168152604060208201526000612b1e6040830184612b4a565b60008551613762818460208a01612b26565b855190830190613776818360208a01612b26565b8551910190613789818360208901612b26565b845191019061379c818360208801612b26565b019695505050505050565b600084516137b9818460208901612b26565b8451908301906137cd818360208901612b26565b84519101906137e0818360208801612b26565b0195945050505050565b8082018082111561044357610443613461565b6000875160206138108285838d01612b26565b8851918401916138238184848d01612b26565b88519201916138358184848c01612b26565b87519201916138478184848b01612b26565b86519201916138598184848a01612b26565b855192019161386b8184848901612b26565b919091019998505050505050505050565b8181038181111561044357610443613461565b6060815260006138a26060830186612b4a565b905083602083015260ff83166040830152949350505050565b6000600182016138cd576138cd613461565b5060010190565b60ff828116828216039081111561044357610443613461565b6001600160401b03818116838216019080821115610b4957610b49613461565b6001600160401b0381811683821602808216919082811461393057613930613461565b505092915050565b60008261394757613947613619565b50069056fe10ffffffffffffffffffffffffffffff040100010203050406071311ff0101ff07ff02ffffffffffffffffffffffffff070304ff04ffffffffffffff03ffffff0405070202ff0404040403ffffffffff05070402040205050505ff04ff04ffff07010203050406070101ff06ffff06ff0203050404000106060707070701ffff5769746e6574456e636f64696e674c69623a20696e76616c696420534c413a20a2646970667358221220e1fe8630739ab4f0d03f84a155da11b2d0b45288740a87663e18eb342d9c9a5a64736f6c63430008190033",
  "immutableReferences": {},
  "generatedSources": [],
  "deployedGeneratedSources": [
    {
      "ast": {
        "nativeSrc": "0:35275:84",
        "nodeType": "YulBlock",
        "src": "0:35275:84",
        "statements": [
          {
            "nativeSrc": "6:3:84",
            "nodeType": "YulBlock",
            "src": "6:3:84",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "75:95:84",
              "nodeType": "YulBlock",
              "src": "75:95:84",
              "statements": [
                {
                  "nativeSrc": "85:29:84",
                  "nodeType": "YulAssignment",
                  "src": "85:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "107:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "107:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "94:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "94:12:84"
                    },
                    "nativeSrc": "94:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "94:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "85:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "85:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "148:16:84",
                    "nodeType": "YulBlock",
                    "src": "148:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "157:1:84",
                              "nodeType": "YulLiteral",
                              "src": "157:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "160:1:84",
                              "nodeType": "YulLiteral",
                              "src": "160:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "150:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "150:6:84"
                          },
                          "nativeSrc": "150:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "150:12:84"
                        },
                        "nativeSrc": "150:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "150:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "136:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "136:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "143:2:84",
                            "nodeType": "YulLiteral",
                            "src": "143:2:84",
                            "type": "",
                            "value": "20"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "133:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "133:2:84"
                        },
                        "nativeSrc": "133:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "133:13:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "126:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "126:6:84"
                    },
                    "nativeSrc": "126:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "126:21:84"
                  },
                  "nativeSrc": "123:41:84",
                  "nodeType": "YulIf",
                  "src": "123:41:84"
                }
              ]
            },
            "name": "abi_decode_enum_RadonDataTypes",
            "nativeSrc": "14:156:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "54:6:84",
                "nodeType": "YulTypedName",
                "src": "54:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "65:5:84",
                "nodeType": "YulTypedName",
                "src": "65:5:84",
                "type": ""
              }
            ],
            "src": "14:156:84"
          },
          {
            "body": {
              "nativeSrc": "223:111:84",
              "nodeType": "YulBlock",
              "src": "223:111:84",
              "statements": [
                {
                  "nativeSrc": "233:29:84",
                  "nodeType": "YulAssignment",
                  "src": "233:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "255:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "255:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "242:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "242:12:84"
                    },
                    "nativeSrc": "242:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "242:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "233:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "233:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "312:16:84",
                    "nodeType": "YulBlock",
                    "src": "312:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "321:1:84",
                              "nodeType": "YulLiteral",
                              "src": "321:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "324:1:84",
                              "nodeType": "YulLiteral",
                              "src": "324:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "314:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "314:6:84"
                          },
                          "nativeSrc": "314:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "314:12:84"
                        },
                        "nativeSrc": "314:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "314:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "284:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "284:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "295:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "295:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "302:6:84",
                                "nodeType": "YulLiteral",
                                "src": "302:6:84",
                                "type": "",
                                "value": "0xffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "291:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "291:3:84"
                            },
                            "nativeSrc": "291:18:84",
                            "nodeType": "YulFunctionCall",
                            "src": "291:18:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "281:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "281:2:84"
                        },
                        "nativeSrc": "281:29:84",
                        "nodeType": "YulFunctionCall",
                        "src": "281:29:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "274:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "274:6:84"
                    },
                    "nativeSrc": "274:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "274:37:84"
                  },
                  "nativeSrc": "271:57:84",
                  "nodeType": "YulIf",
                  "src": "271:57:84"
                }
              ]
            },
            "name": "abi_decode_uint16",
            "nativeSrc": "175:159:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "202:6:84",
                "nodeType": "YulTypedName",
                "src": "202:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "213:5:84",
                "nodeType": "YulTypedName",
                "src": "213:5:84",
                "type": ""
              }
            ],
            "src": "175:159:84"
          },
          {
            "body": {
              "nativeSrc": "445:184:84",
              "nodeType": "YulBlock",
              "src": "445:184:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "491:16:84",
                    "nodeType": "YulBlock",
                    "src": "491:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "500:1:84",
                              "nodeType": "YulLiteral",
                              "src": "500:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "503:1:84",
                              "nodeType": "YulLiteral",
                              "src": "503:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "493:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "493:6:84"
                          },
                          "nativeSrc": "493:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "493:12:84"
                        },
                        "nativeSrc": "493:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "493:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "466:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "466:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "475:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "475:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "462:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "462:3:84"
                        },
                        "nativeSrc": "462:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "462:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "487:2:84",
                        "nodeType": "YulLiteral",
                        "src": "487:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "458:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "458:3:84"
                    },
                    "nativeSrc": "458:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "458:32:84"
                  },
                  "nativeSrc": "455:52:84",
                  "nodeType": "YulIf",
                  "src": "455:52:84"
                },
                {
                  "nativeSrc": "516:51:84",
                  "nodeType": "YulAssignment",
                  "src": "516:51:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "557:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "557:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_enum_RadonDataTypes",
                      "nativeSrc": "526:30:84",
                      "nodeType": "YulIdentifier",
                      "src": "526:30:84"
                    },
                    "nativeSrc": "526:41:84",
                    "nodeType": "YulFunctionCall",
                    "src": "526:41:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "516:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "516:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "576:47:84",
                  "nodeType": "YulAssignment",
                  "src": "576:47:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "608:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "608:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "619:2:84",
                            "nodeType": "YulLiteral",
                            "src": "619:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "604:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "604:3:84"
                        },
                        "nativeSrc": "604:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "604:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint16",
                      "nativeSrc": "586:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "586:17:84"
                    },
                    "nativeSrc": "586:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "586:37:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "576:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "576:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_enum$_RadonDataTypes_$16432t_uint16",
            "nativeSrc": "339:290:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "403:9:84",
                "nodeType": "YulTypedName",
                "src": "403:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "414:7:84",
                "nodeType": "YulTypedName",
                "src": "414:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "426:6:84",
                "nodeType": "YulTypedName",
                "src": "426:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "434:6:84",
                "nodeType": "YulTypedName",
                "src": "434:6:84",
                "type": ""
              }
            ],
            "src": "339:290:84"
          },
          {
            "body": {
              "nativeSrc": "741:89:84",
              "nodeType": "YulBlock",
              "src": "741:89:84",
              "statements": [
                {
                  "nativeSrc": "751:26:84",
                  "nodeType": "YulAssignment",
                  "src": "751:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "763:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "763:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "774:2:84",
                        "nodeType": "YulLiteral",
                        "src": "774:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "759:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "759:3:84"
                    },
                    "nativeSrc": "759:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "759:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "751:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "751:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "793:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "793:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "808:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "808:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "816:6:84",
                            "nodeType": "YulLiteral",
                            "src": "816:6:84",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "804:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "804:3:84"
                        },
                        "nativeSrc": "804:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "804:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "786:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "786:6:84"
                    },
                    "nativeSrc": "786:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "786:38:84"
                  },
                  "nativeSrc": "786:38:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "786:38:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint16__to_t_uint16__fromStack_library_reversed",
            "nativeSrc": "634:196:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "710:9:84",
                "nodeType": "YulTypedName",
                "src": "710:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "721:6:84",
                "nodeType": "YulTypedName",
                "src": "721:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "732:4:84",
                "nodeType": "YulTypedName",
                "src": "732:4:84",
                "type": ""
              }
            ],
            "src": "634:196:84"
          },
          {
            "body": {
              "nativeSrc": "867:95:84",
              "nodeType": "YulBlock",
              "src": "867:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "884:1:84",
                        "nodeType": "YulLiteral",
                        "src": "884:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "891:3:84",
                            "nodeType": "YulLiteral",
                            "src": "891:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "896:10:84",
                            "nodeType": "YulLiteral",
                            "src": "896:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "887:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "887:3:84"
                        },
                        "nativeSrc": "887:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "887:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "877:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "877:6:84"
                    },
                    "nativeSrc": "877:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "877:31:84"
                  },
                  "nativeSrc": "877:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "877:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "924:1:84",
                        "nodeType": "YulLiteral",
                        "src": "924:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "927:4:84",
                        "nodeType": "YulLiteral",
                        "src": "927:4:84",
                        "type": "",
                        "value": "0x41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "917:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "917:6:84"
                    },
                    "nativeSrc": "917:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "917:15:84"
                  },
                  "nativeSrc": "917:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "917:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "948:1:84",
                        "nodeType": "YulLiteral",
                        "src": "948:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "951:4:84",
                        "nodeType": "YulLiteral",
                        "src": "951:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "941:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "941:6:84"
                    },
                    "nativeSrc": "941:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "941:15:84"
                  },
                  "nativeSrc": "941:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "941:15:84"
                }
              ]
            },
            "name": "panic_error_0x41",
            "nativeSrc": "835:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "835:127:84"
          },
          {
            "body": {
              "nativeSrc": "1013:205:84",
              "nodeType": "YulBlock",
              "src": "1013:205:84",
              "statements": [
                {
                  "nativeSrc": "1023:19:84",
                  "nodeType": "YulAssignment",
                  "src": "1023:19:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "1039:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1039:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1033:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1033:5:84"
                    },
                    "nativeSrc": "1033:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1033:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "1023:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1023:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "1051:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1051:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "1073:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1073:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1081:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1081:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1069:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1069:3:84"
                    },
                    "nativeSrc": "1069:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1069:15:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "1055:10:84",
                      "nodeType": "YulTypedName",
                      "src": "1055:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "1159:22:84",
                    "nodeType": "YulBlock",
                    "src": "1159:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "1161:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "1161:16:84"
                          },
                          "nativeSrc": "1161:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1161:18:84"
                        },
                        "nativeSrc": "1161:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1161:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "1102:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "1102:10:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1114:18:84",
                            "nodeType": "YulLiteral",
                            "src": "1114:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "1099:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "1099:2:84"
                        },
                        "nativeSrc": "1099:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1099:34:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "1138:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "1138:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "1150:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1150:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "1135:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "1135:2:84"
                        },
                        "nativeSrc": "1135:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1135:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "1096:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "1096:2:84"
                    },
                    "nativeSrc": "1096:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1096:62:84"
                  },
                  "nativeSrc": "1093:88:84",
                  "nodeType": "YulIf",
                  "src": "1093:88:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "1197:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1197:2:84",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "1201:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "1201:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1190:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1190:6:84"
                    },
                    "nativeSrc": "1190:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1190:22:84"
                  },
                  "nativeSrc": "1190:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1190:22:84"
                }
              ]
            },
            "name": "allocate_memory_4510",
            "nativeSrc": "967:251:84",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "memPtr",
                "nativeSrc": "1002:6:84",
                "nodeType": "YulTypedName",
                "src": "1002:6:84",
                "type": ""
              }
            ],
            "src": "967:251:84"
          },
          {
            "body": {
              "nativeSrc": "1269:207:84",
              "nodeType": "YulBlock",
              "src": "1269:207:84",
              "statements": [
                {
                  "nativeSrc": "1279:19:84",
                  "nodeType": "YulAssignment",
                  "src": "1279:19:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "1295:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1295:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1289:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1289:5:84"
                    },
                    "nativeSrc": "1289:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1289:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "1279:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1279:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "1307:35:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1307:35:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "1329:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1329:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1337:4:84",
                        "nodeType": "YulLiteral",
                        "src": "1337:4:84",
                        "type": "",
                        "value": "0xe0"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1325:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1325:3:84"
                    },
                    "nativeSrc": "1325:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1325:17:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "1311:10:84",
                      "nodeType": "YulTypedName",
                      "src": "1311:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "1417:22:84",
                    "nodeType": "YulBlock",
                    "src": "1417:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "1419:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "1419:16:84"
                          },
                          "nativeSrc": "1419:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1419:18:84"
                        },
                        "nativeSrc": "1419:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1419:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "1360:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "1360:10:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1372:18:84",
                            "nodeType": "YulLiteral",
                            "src": "1372:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "1357:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "1357:2:84"
                        },
                        "nativeSrc": "1357:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1357:34:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "1396:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "1396:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "1408:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1408:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "1393:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "1393:2:84"
                        },
                        "nativeSrc": "1393:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1393:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "1354:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "1354:2:84"
                    },
                    "nativeSrc": "1354:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1354:62:84"
                  },
                  "nativeSrc": "1351:88:84",
                  "nodeType": "YulIf",
                  "src": "1351:88:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "1455:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1455:2:84",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "1459:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "1459:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1448:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1448:6:84"
                    },
                    "nativeSrc": "1448:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1448:22:84"
                  },
                  "nativeSrc": "1448:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1448:22:84"
                }
              ]
            },
            "name": "allocate_memory_4516",
            "nativeSrc": "1223:253:84",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "memPtr",
                "nativeSrc": "1258:6:84",
                "nodeType": "YulTypedName",
                "src": "1258:6:84",
                "type": ""
              }
            ],
            "src": "1223:253:84"
          },
          {
            "body": {
              "nativeSrc": "1526:230:84",
              "nodeType": "YulBlock",
              "src": "1526:230:84",
              "statements": [
                {
                  "nativeSrc": "1536:19:84",
                  "nodeType": "YulAssignment",
                  "src": "1536:19:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "1552:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1552:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1546:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1546:5:84"
                    },
                    "nativeSrc": "1546:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1546:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "1536:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1536:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "1564:58:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1564:58:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "1586:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1586:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "size",
                                "nativeSrc": "1602:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "1602:4:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "1608:2:84",
                                "nodeType": "YulLiteral",
                                "src": "1608:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "1598:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "1598:3:84"
                            },
                            "nativeSrc": "1598:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1598:13:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "1617:2:84",
                                "nodeType": "YulLiteral",
                                "src": "1617:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "1613:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "1613:3:84"
                            },
                            "nativeSrc": "1613:7:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1613:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "1594:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1594:3:84"
                        },
                        "nativeSrc": "1594:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1594:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1582:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1582:3:84"
                    },
                    "nativeSrc": "1582:40:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1582:40:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "1568:10:84",
                      "nodeType": "YulTypedName",
                      "src": "1568:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "1697:22:84",
                    "nodeType": "YulBlock",
                    "src": "1697:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "1699:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "1699:16:84"
                          },
                          "nativeSrc": "1699:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1699:18:84"
                        },
                        "nativeSrc": "1699:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1699:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "1640:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "1640:10:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1652:18:84",
                            "nodeType": "YulLiteral",
                            "src": "1652:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "1637:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "1637:2:84"
                        },
                        "nativeSrc": "1637:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1637:34:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "1676:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "1676:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "1688:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1688:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "1673:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "1673:2:84"
                        },
                        "nativeSrc": "1673:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1673:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "1634:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "1634:2:84"
                    },
                    "nativeSrc": "1634:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1634:62:84"
                  },
                  "nativeSrc": "1631:88:84",
                  "nodeType": "YulIf",
                  "src": "1631:88:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "1735:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1735:2:84",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "1739:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "1739:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1728:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1728:6:84"
                    },
                    "nativeSrc": "1728:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1728:22:84"
                  },
                  "nativeSrc": "1728:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1728:22:84"
                }
              ]
            },
            "name": "allocate_memory",
            "nativeSrc": "1481:275:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "size",
                "nativeSrc": "1506:4:84",
                "nodeType": "YulTypedName",
                "src": "1506:4:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "memPtr",
                "nativeSrc": "1515:6:84",
                "nodeType": "YulTypedName",
                "src": "1515:6:84",
                "type": ""
              }
            ],
            "src": "1481:275:84"
          },
          {
            "body": {
              "nativeSrc": "1813:478:84",
              "nodeType": "YulBlock",
              "src": "1813:478:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "1862:16:84",
                    "nodeType": "YulBlock",
                    "src": "1862:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1871:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1871:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1874:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1874:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1864:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1864:6:84"
                          },
                          "nativeSrc": "1864:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1864:12:84"
                        },
                        "nativeSrc": "1864:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1864:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "1841:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "1841:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "1849:4:84",
                                "nodeType": "YulLiteral",
                                "src": "1849:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "1837:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "1837:3:84"
                            },
                            "nativeSrc": "1837:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1837:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "1856:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "1856:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "1833:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1833:3:84"
                        },
                        "nativeSrc": "1833:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1833:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "1826:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1826:6:84"
                    },
                    "nativeSrc": "1826:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1826:35:84"
                  },
                  "nativeSrc": "1823:55:84",
                  "nodeType": "YulIf",
                  "src": "1823:55:84"
                },
                {
                  "nativeSrc": "1887:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1887:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "1910:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1910:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "1897:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "1897:12:84"
                    },
                    "nativeSrc": "1897:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1897:20:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "1891:2:84",
                      "nodeType": "YulTypedName",
                      "src": "1891:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "1956:22:84",
                    "nodeType": "YulBlock",
                    "src": "1956:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "1958:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "1958:16:84"
                          },
                          "nativeSrc": "1958:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1958:18:84"
                        },
                        "nativeSrc": "1958:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1958:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "1932:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "1932:2:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1936:18:84",
                        "nodeType": "YulLiteral",
                        "src": "1936:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "1929:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "1929:2:84"
                    },
                    "nativeSrc": "1929:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1929:26:84"
                  },
                  "nativeSrc": "1926:52:84",
                  "nodeType": "YulIf",
                  "src": "1926:52:84"
                },
                {
                  "nativeSrc": "1987:70:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1987:70:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "_1",
                                    "nativeSrc": "2030:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "2030:2:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2034:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "2034:4:84",
                                    "type": "",
                                    "value": "0x1f"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "2026:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "2026:3:84"
                                },
                                "nativeSrc": "2026:13:84",
                                "nodeType": "YulFunctionCall",
                                "src": "2026:13:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2045:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "2045:2:84",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "2041:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "2041:3:84"
                                },
                                "nativeSrc": "2041:7:84",
                                "nodeType": "YulFunctionCall",
                                "src": "2041:7:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "2022:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2022:3:84"
                            },
                            "nativeSrc": "2022:27:84",
                            "nodeType": "YulFunctionCall",
                            "src": "2022:27:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2051:4:84",
                            "nodeType": "YulLiteral",
                            "src": "2051:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2018:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2018:3:84"
                        },
                        "nativeSrc": "2018:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2018:38:84"
                      }
                    ],
                    "functionName": {
                      "name": "allocate_memory",
                      "nativeSrc": "2002:15:84",
                      "nodeType": "YulIdentifier",
                      "src": "2002:15:84"
                    },
                    "nativeSrc": "2002:55:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2002:55:84"
                  },
                  "variables": [
                    {
                      "name": "array_1",
                      "nativeSrc": "1991:7:84",
                      "nodeType": "YulTypedName",
                      "src": "1991:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "array_1",
                        "nativeSrc": "2073:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "2073:7:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "2082:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "2082:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2066:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2066:6:84"
                    },
                    "nativeSrc": "2066:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2066:19:84"
                  },
                  "nativeSrc": "2066:19:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "2066:19:84"
                },
                {
                  "body": {
                    "nativeSrc": "2133:16:84",
                    "nodeType": "YulBlock",
                    "src": "2133:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2142:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2142:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2145:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2145:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2135:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2135:6:84"
                          },
                          "nativeSrc": "2135:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2135:12:84"
                        },
                        "nativeSrc": "2135:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2135:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "2108:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "2108:6:84"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "2116:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "2116:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "2104:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2104:3:84"
                            },
                            "nativeSrc": "2104:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "2104:15:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2121:4:84",
                            "nodeType": "YulLiteral",
                            "src": "2121:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2100:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2100:3:84"
                        },
                        "nativeSrc": "2100:26:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2100:26:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "2128:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "2128:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "2097:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "2097:2:84"
                    },
                    "nativeSrc": "2097:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2097:35:84"
                  },
                  "nativeSrc": "2094:55:84",
                  "nodeType": "YulIf",
                  "src": "2094:55:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "array_1",
                            "nativeSrc": "2175:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "2175:7:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2184:4:84",
                            "nodeType": "YulLiteral",
                            "src": "2184:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2171:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2171:3:84"
                        },
                        "nativeSrc": "2171:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2171:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "2195:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2195:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2203:4:84",
                            "nodeType": "YulLiteral",
                            "src": "2203:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2191:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2191:3:84"
                        },
                        "nativeSrc": "2191:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2191:17:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "2210:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "2210:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "2158:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "2158:12:84"
                    },
                    "nativeSrc": "2158:55:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2158:55:84"
                  },
                  "nativeSrc": "2158:55:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "2158:55:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "array_1",
                                "nativeSrc": "2237:7:84",
                                "nodeType": "YulIdentifier",
                                "src": "2237:7:84"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "2246:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "2246:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "2233:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2233:3:84"
                            },
                            "nativeSrc": "2233:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "2233:16:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2251:4:84",
                            "nodeType": "YulLiteral",
                            "src": "2251:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2229:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2229:3:84"
                        },
                        "nativeSrc": "2229:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2229:27:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2258:1:84",
                        "nodeType": "YulLiteral",
                        "src": "2258:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2222:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2222:6:84"
                    },
                    "nativeSrc": "2222:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2222:38:84"
                  },
                  "nativeSrc": "2222:38:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "2222:38:84"
                },
                {
                  "nativeSrc": "2269:16:84",
                  "nodeType": "YulAssignment",
                  "src": "2269:16:84",
                  "value": {
                    "name": "array_1",
                    "nativeSrc": "2278:7:84",
                    "nodeType": "YulIdentifier",
                    "src": "2278:7:84"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "2269:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "2269:5:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_bytes",
            "nativeSrc": "1761:530:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "1787:6:84",
                "nodeType": "YulTypedName",
                "src": "1787:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "1795:3:84",
                "nodeType": "YulTypedName",
                "src": "1795:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "1803:5:84",
                "nodeType": "YulTypedName",
                "src": "1803:5:84",
                "type": ""
              }
            ],
            "src": "1761:530:84"
          },
          {
            "body": {
              "nativeSrc": "2375:241:84",
              "nodeType": "YulBlock",
              "src": "2375:241:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "2421:16:84",
                    "nodeType": "YulBlock",
                    "src": "2421:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2430:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2430:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2433:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2433:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2423:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2423:6:84"
                          },
                          "nativeSrc": "2423:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2423:12:84"
                        },
                        "nativeSrc": "2423:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2423:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "2396:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "2396:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "2405:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "2405:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "2392:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2392:3:84"
                        },
                        "nativeSrc": "2392:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2392:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2417:2:84",
                        "nodeType": "YulLiteral",
                        "src": "2417:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "2388:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2388:3:84"
                    },
                    "nativeSrc": "2388:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2388:32:84"
                  },
                  "nativeSrc": "2385:52:84",
                  "nodeType": "YulIf",
                  "src": "2385:52:84"
                },
                {
                  "nativeSrc": "2446:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2446:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2473:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "2473:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "2460:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "2460:12:84"
                    },
                    "nativeSrc": "2460:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2460:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "2450:6:84",
                      "nodeType": "YulTypedName",
                      "src": "2450:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2526:16:84",
                    "nodeType": "YulBlock",
                    "src": "2526:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2535:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2535:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2538:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2538:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2528:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2528:6:84"
                          },
                          "nativeSrc": "2528:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2528:12:84"
                        },
                        "nativeSrc": "2528:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2528:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "2498:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2498:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2506:18:84",
                        "nodeType": "YulLiteral",
                        "src": "2506:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "2495:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "2495:2:84"
                    },
                    "nativeSrc": "2495:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2495:30:84"
                  },
                  "nativeSrc": "2492:50:84",
                  "nodeType": "YulIf",
                  "src": "2492:50:84"
                },
                {
                  "nativeSrc": "2551:59:84",
                  "nodeType": "YulAssignment",
                  "src": "2551:59:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "2582:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "2582:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "2593:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2593:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2578:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2578:3:84"
                        },
                        "nativeSrc": "2578:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2578:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "2602:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "2602:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes",
                      "nativeSrc": "2561:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "2561:16:84"
                    },
                    "nativeSrc": "2561:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2561:49:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "2551:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2551:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_memory_ptr",
            "nativeSrc": "2296:320:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "2341:9:84",
                "nodeType": "YulTypedName",
                "src": "2341:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "2352:7:84",
                "nodeType": "YulTypedName",
                "src": "2352:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "2364:6:84",
                "nodeType": "YulTypedName",
                "src": "2364:6:84",
                "type": ""
              }
            ],
            "src": "2296:320:84"
          },
          {
            "body": {
              "nativeSrc": "2687:184:84",
              "nodeType": "YulBlock",
              "src": "2687:184:84",
              "statements": [
                {
                  "nativeSrc": "2697:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2697:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "2706:1:84",
                    "nodeType": "YulLiteral",
                    "src": "2706:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "2701:1:84",
                      "nodeType": "YulTypedName",
                      "src": "2701:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2766:63:84",
                    "nodeType": "YulBlock",
                    "src": "2766:63:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "dst",
                                  "nativeSrc": "2791:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "2791:3:84"
                                },
                                {
                                  "name": "i",
                                  "nativeSrc": "2796:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "2796:1:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "2787:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "2787:3:84"
                              },
                              "nativeSrc": "2787:11:84",
                              "nodeType": "YulFunctionCall",
                              "src": "2787:11:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "src",
                                      "nativeSrc": "2810:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "2810:3:84"
                                    },
                                    {
                                      "name": "i",
                                      "nativeSrc": "2815:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "2815:1:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "2806:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "2806:3:84"
                                  },
                                  "nativeSrc": "2806:11:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "2806:11:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "2800:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "2800:5:84"
                              },
                              "nativeSrc": "2800:18:84",
                              "nodeType": "YulFunctionCall",
                              "src": "2800:18:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "2780:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2780:6:84"
                          },
                          "nativeSrc": "2780:39:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2780:39:84"
                        },
                        "nativeSrc": "2780:39:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2780:39:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "2727:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "2727:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "2730:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2730:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "2724:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "2724:2:84"
                    },
                    "nativeSrc": "2724:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2724:13:84"
                  },
                  "nativeSrc": "2716:113:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "2738:19:84",
                    "nodeType": "YulBlock",
                    "src": "2738:19:84",
                    "statements": [
                      {
                        "nativeSrc": "2740:15:84",
                        "nodeType": "YulAssignment",
                        "src": "2740:15:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "2749:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "2749:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2752:2:84",
                              "nodeType": "YulLiteral",
                              "src": "2752:2:84",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "2745:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "2745:3:84"
                          },
                          "nativeSrc": "2745:10:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2745:10:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "2740:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "2740:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "2720:3:84",
                    "nodeType": "YulBlock",
                    "src": "2720:3:84",
                    "statements": []
                  },
                  "src": "2716:113:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dst",
                            "nativeSrc": "2849:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "2849:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "2854:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2854:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2845:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2845:3:84"
                        },
                        "nativeSrc": "2845:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2845:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2863:1:84",
                        "nodeType": "YulLiteral",
                        "src": "2863:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2838:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2838:6:84"
                    },
                    "nativeSrc": "2838:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2838:27:84"
                  },
                  "nativeSrc": "2838:27:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "2838:27:84"
                }
              ]
            },
            "name": "copy_memory_to_memory_with_cleanup",
            "nativeSrc": "2621:250:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "src",
                "nativeSrc": "2665:3:84",
                "nodeType": "YulTypedName",
                "src": "2665:3:84",
                "type": ""
              },
              {
                "name": "dst",
                "nativeSrc": "2670:3:84",
                "nodeType": "YulTypedName",
                "src": "2670:3:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "2675:6:84",
                "nodeType": "YulTypedName",
                "src": "2675:6:84",
                "type": ""
              }
            ],
            "src": "2621:250:84"
          },
          {
            "body": {
              "nativeSrc": "2925:221:84",
              "nodeType": "YulBlock",
              "src": "2925:221:84",
              "statements": [
                {
                  "nativeSrc": "2935:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2935:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "2955:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "2955:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "2949:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "2949:5:84"
                    },
                    "nativeSrc": "2949:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2949:12:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "2939:6:84",
                      "nodeType": "YulTypedName",
                      "src": "2939:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "2977:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "2977:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "2982:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2982:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2970:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2970:6:84"
                    },
                    "nativeSrc": "2970:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2970:19:84"
                  },
                  "nativeSrc": "2970:19:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "2970:19:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "3037:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "3037:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3044:4:84",
                            "nodeType": "YulLiteral",
                            "src": "3044:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3033:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3033:3:84"
                        },
                        "nativeSrc": "3033:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3033:16:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3055:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "3055:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3060:4:84",
                            "nodeType": "YulLiteral",
                            "src": "3060:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3051:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3051:3:84"
                        },
                        "nativeSrc": "3051:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3051:14:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "3067:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3067:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "2998:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "2998:34:84"
                    },
                    "nativeSrc": "2998:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2998:76:84"
                  },
                  "nativeSrc": "2998:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "2998:76:84"
                },
                {
                  "nativeSrc": "3083:57:84",
                  "nodeType": "YulAssignment",
                  "src": "3083:57:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3098:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "3098:3:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "3111:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "3111:6:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3119:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "3119:2:84",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "3107:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "3107:3:84"
                                },
                                "nativeSrc": "3107:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "3107:15:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3128:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "3128:2:84",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "3124:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "3124:3:84"
                                },
                                "nativeSrc": "3124:7:84",
                                "nodeType": "YulFunctionCall",
                                "src": "3124:7:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "3103:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "3103:3:84"
                            },
                            "nativeSrc": "3103:29:84",
                            "nodeType": "YulFunctionCall",
                            "src": "3103:29:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3094:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3094:3:84"
                        },
                        "nativeSrc": "3094:39:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3094:39:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3135:4:84",
                        "nodeType": "YulLiteral",
                        "src": "3135:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3090:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3090:3:84"
                    },
                    "nativeSrc": "3090:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3090:50:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "3083:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3083:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_bytes",
            "nativeSrc": "2876:270:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "2902:5:84",
                "nodeType": "YulTypedName",
                "src": "2902:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "2909:3:84",
                "nodeType": "YulTypedName",
                "src": "2909:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "2917:3:84",
                "nodeType": "YulTypedName",
                "src": "2917:3:84",
                "type": ""
              }
            ],
            "src": "2876:270:84"
          },
          {
            "body": {
              "nativeSrc": "3278:98:84",
              "nodeType": "YulBlock",
              "src": "3278:98:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "3295:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "3295:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3306:2:84",
                        "nodeType": "YulLiteral",
                        "src": "3306:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3288:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3288:6:84"
                    },
                    "nativeSrc": "3288:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3288:21:84"
                  },
                  "nativeSrc": "3288:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3288:21:84"
                },
                {
                  "nativeSrc": "3318:52:84",
                  "nodeType": "YulAssignment",
                  "src": "3318:52:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "3343:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3343:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "3355:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "3355:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3366:2:84",
                            "nodeType": "YulLiteral",
                            "src": "3366:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3351:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3351:3:84"
                        },
                        "nativeSrc": "3351:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3351:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "3326:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "3326:16:84"
                    },
                    "nativeSrc": "3326:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3326:44:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "3318:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "3318:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "3151:225:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "3247:9:84",
                "nodeType": "YulTypedName",
                "src": "3247:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "3258:6:84",
                "nodeType": "YulTypedName",
                "src": "3258:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "3269:4:84",
                "nodeType": "YulTypedName",
                "src": "3269:4:84",
                "type": ""
              }
            ],
            "src": "3151:225:84"
          },
          {
            "body": {
              "nativeSrc": "3451:94:84",
              "nodeType": "YulBlock",
              "src": "3451:94:84",
              "statements": [
                {
                  "nativeSrc": "3461:29:84",
                  "nodeType": "YulAssignment",
                  "src": "3461:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "3483:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3483:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "3470:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "3470:12:84"
                    },
                    "nativeSrc": "3470:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3470:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "3461:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "3461:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "3523:16:84",
                    "nodeType": "YulBlock",
                    "src": "3523:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3532:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3532:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3535:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3535:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3525:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3525:6:84"
                          },
                          "nativeSrc": "3525:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3525:12:84"
                        },
                        "nativeSrc": "3525:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "3525:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "3512:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "3512:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3519:1:84",
                            "nodeType": "YulLiteral",
                            "src": "3519:1:84",
                            "type": "",
                            "value": "5"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "3509:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "3509:2:84"
                        },
                        "nativeSrc": "3509:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3509:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "3502:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3502:6:84"
                    },
                    "nativeSrc": "3502:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3502:20:84"
                  },
                  "nativeSrc": "3499:40:84",
                  "nodeType": "YulIf",
                  "src": "3499:40:84"
                }
              ]
            },
            "name": "abi_decode_enum_RadonDataRequestMethods",
            "nativeSrc": "3381:164:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "3430:6:84",
                "nodeType": "YulTypedName",
                "src": "3430:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "3441:5:84",
                "nodeType": "YulTypedName",
                "src": "3441:5:84",
                "type": ""
              }
            ],
            "src": "3381:164:84"
          },
          {
            "body": {
              "nativeSrc": "3624:114:84",
              "nodeType": "YulBlock",
              "src": "3624:114:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "3668:22:84",
                    "nodeType": "YulBlock",
                    "src": "3668:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "3670:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "3670:16:84"
                          },
                          "nativeSrc": "3670:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3670:18:84"
                        },
                        "nativeSrc": "3670:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "3670:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "3640:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3640:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3648:18:84",
                        "nodeType": "YulLiteral",
                        "src": "3648:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "3637:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "3637:2:84"
                    },
                    "nativeSrc": "3637:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3637:30:84"
                  },
                  "nativeSrc": "3634:56:84",
                  "nodeType": "YulIf",
                  "src": "3634:56:84"
                },
                {
                  "nativeSrc": "3699:33:84",
                  "nodeType": "YulAssignment",
                  "src": "3699:33:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "3715:1:84",
                            "nodeType": "YulLiteral",
                            "src": "3715:1:84",
                            "type": "",
                            "value": "5"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "3718:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3718:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "3711:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3711:3:84"
                        },
                        "nativeSrc": "3711:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3711:14:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3727:4:84",
                        "nodeType": "YulLiteral",
                        "src": "3727:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3707:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3707:3:84"
                    },
                    "nativeSrc": "3707:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3707:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "size",
                      "nativeSrc": "3699:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "3699:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "array_allocation_size_array_array_string_dyn",
            "nativeSrc": "3550:188:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "length",
                "nativeSrc": "3604:6:84",
                "nodeType": "YulTypedName",
                "src": "3604:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "size",
                "nativeSrc": "3615:4:84",
                "nodeType": "YulTypedName",
                "src": "3615:4:84",
                "type": ""
              }
            ],
            "src": "3550:188:84"
          },
          {
            "body": {
              "nativeSrc": "3812:1681:84",
              "nodeType": "YulBlock",
              "src": "3812:1681:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "3861:16:84",
                    "nodeType": "YulBlock",
                    "src": "3861:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3870:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3870:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3873:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3873:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3863:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3863:6:84"
                          },
                          "nativeSrc": "3863:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3863:12:84"
                        },
                        "nativeSrc": "3863:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "3863:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "3840:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "3840:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "3848:4:84",
                                "nodeType": "YulLiteral",
                                "src": "3848:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "3836:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "3836:3:84"
                            },
                            "nativeSrc": "3836:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "3836:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "3855:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "3855:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "3832:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3832:3:84"
                        },
                        "nativeSrc": "3832:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3832:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "3825:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3825:6:84"
                    },
                    "nativeSrc": "3825:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3825:35:84"
                  },
                  "nativeSrc": "3822:55:84",
                  "nodeType": "YulIf",
                  "src": "3822:55:84"
                },
                {
                  "nativeSrc": "3886:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3886:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "3909:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3909:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "3896:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "3896:12:84"
                    },
                    "nativeSrc": "3896:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3896:20:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "3890:2:84",
                      "nodeType": "YulTypedName",
                      "src": "3890:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "3925:14:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3925:14:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "3935:4:84",
                    "nodeType": "YulLiteral",
                    "src": "3935:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "3929:2:84",
                      "nodeType": "YulTypedName",
                      "src": "3929:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "3948:76:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3948:76:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "4020:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "4020:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "array_allocation_size_array_array_string_dyn",
                          "nativeSrc": "3975:44:84",
                          "nodeType": "YulIdentifier",
                          "src": "3975:44:84"
                        },
                        "nativeSrc": "3975:48:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3975:48:84"
                      }
                    ],
                    "functionName": {
                      "name": "allocate_memory",
                      "nativeSrc": "3959:15:84",
                      "nodeType": "YulIdentifier",
                      "src": "3959:15:84"
                    },
                    "nativeSrc": "3959:65:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3959:65:84"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "3952:3:84",
                      "nodeType": "YulTypedName",
                      "src": "3952:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "4033:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4033:16:84",
                  "value": {
                    "name": "dst",
                    "nativeSrc": "4046:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "4046:3:84"
                  },
                  "variables": [
                    {
                      "name": "dst_1",
                      "nativeSrc": "4037:5:84",
                      "nodeType": "YulTypedName",
                      "src": "4037:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "dst",
                        "nativeSrc": "4065:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "4065:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "4070:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "4070:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4058:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4058:6:84"
                    },
                    "nativeSrc": "4058:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4058:15:84"
                  },
                  "nativeSrc": "4058:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4058:15:84"
                },
                {
                  "nativeSrc": "4082:19:84",
                  "nodeType": "YulAssignment",
                  "src": "4082:19:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "dst",
                        "nativeSrc": "4093:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "4093:3:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "4098:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "4098:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "4089:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "4089:3:84"
                    },
                    "nativeSrc": "4089:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4089:12:84"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "4082:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "4082:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "4110:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4110:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "4132:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "4132:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "4144:1:84",
                                "nodeType": "YulLiteral",
                                "src": "4144:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "4147:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "4147:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "4140:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "4140:3:84"
                            },
                            "nativeSrc": "4140:10:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4140:10:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4128:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4128:3:84"
                        },
                        "nativeSrc": "4128:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4128:23:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "4153:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "4153:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "4124:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "4124:3:84"
                    },
                    "nativeSrc": "4124:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4124:32:84"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "4114:6:84",
                      "nodeType": "YulTypedName",
                      "src": "4114:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4184:16:84",
                    "nodeType": "YulBlock",
                    "src": "4184:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4193:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4193:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4196:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4196:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4186:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "4186:6:84"
                          },
                          "nativeSrc": "4186:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4186:12:84"
                        },
                        "nativeSrc": "4186:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "4186:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "4171:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "4171:6:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "4179:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "4179:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "4168:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "4168:2:84"
                    },
                    "nativeSrc": "4168:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4168:15:84"
                  },
                  "nativeSrc": "4165:35:84",
                  "nodeType": "YulIf",
                  "src": "4165:35:84"
                },
                {
                  "nativeSrc": "4209:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4209:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "4224:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "4224:6:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "4232:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "4232:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "4220:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "4220:3:84"
                    },
                    "nativeSrc": "4220:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4220:15:84"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "4213:3:84",
                      "nodeType": "YulTypedName",
                      "src": "4213:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4300:1164:84",
                    "nodeType": "YulBlock",
                    "src": "4300:1164:84",
                    "statements": [
                      {
                        "nativeSrc": "4314:36:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "4314:36:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "4346:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "4346:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "calldataload",
                            "nativeSrc": "4333:12:84",
                            "nodeType": "YulIdentifier",
                            "src": "4333:12:84"
                          },
                          "nativeSrc": "4333:17:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4333:17:84"
                        },
                        "variables": [
                          {
                            "name": "innerOffset",
                            "nativeSrc": "4318:11:84",
                            "nodeType": "YulTypedName",
                            "src": "4318:11:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "4363:28:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "4363:28:84",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "4373:18:84",
                          "nodeType": "YulLiteral",
                          "src": "4373:18:84",
                          "type": "",
                          "value": "0xffffffffffffffff"
                        },
                        "variables": [
                          {
                            "name": "_3",
                            "nativeSrc": "4367:2:84",
                            "nodeType": "YulTypedName",
                            "src": "4367:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "4439:74:84",
                          "nodeType": "YulBlock",
                          "src": "4439:74:84",
                          "statements": [
                            {
                              "nativeSrc": "4457:11:84",
                              "nodeType": "YulVariableDeclaration",
                              "src": "4457:11:84",
                              "value": {
                                "kind": "number",
                                "nativeSrc": "4467:1:84",
                                "nodeType": "YulLiteral",
                                "src": "4467:1:84",
                                "type": "",
                                "value": "0"
                              },
                              "variables": [
                                {
                                  "name": "_4",
                                  "nativeSrc": "4461:2:84",
                                  "nodeType": "YulTypedName",
                                  "src": "4461:2:84",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "_4",
                                    "nativeSrc": "4492:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4492:2:84"
                                  },
                                  {
                                    "name": "_4",
                                    "nativeSrc": "4496:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4496:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "4485:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4485:6:84"
                                },
                                "nativeSrc": "4485:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4485:14:84"
                              },
                              "nativeSrc": "4485:14:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "4485:14:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "innerOffset",
                              "nativeSrc": "4410:11:84",
                              "nodeType": "YulIdentifier",
                              "src": "4410:11:84"
                            },
                            {
                              "name": "_3",
                              "nativeSrc": "4423:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "4423:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "4407:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "4407:2:84"
                          },
                          "nativeSrc": "4407:19:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4407:19:84"
                        },
                        "nativeSrc": "4404:109:84",
                        "nodeType": "YulIf",
                        "src": "4404:109:84"
                      },
                      {
                        "nativeSrc": "4526:34:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "4526:34:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "offset",
                              "nativeSrc": "4540:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "4540:6:84"
                            },
                            {
                              "name": "innerOffset",
                              "nativeSrc": "4548:11:84",
                              "nodeType": "YulIdentifier",
                              "src": "4548:11:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "4536:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4536:3:84"
                          },
                          "nativeSrc": "4536:24:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4536:24:84"
                        },
                        "variables": [
                          {
                            "name": "_5",
                            "nativeSrc": "4530:2:84",
                            "nodeType": "YulTypedName",
                            "src": "4530:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "4618:74:84",
                          "nodeType": "YulBlock",
                          "src": "4618:74:84",
                          "statements": [
                            {
                              "nativeSrc": "4636:11:84",
                              "nodeType": "YulVariableDeclaration",
                              "src": "4636:11:84",
                              "value": {
                                "kind": "number",
                                "nativeSrc": "4646:1:84",
                                "nodeType": "YulLiteral",
                                "src": "4646:1:84",
                                "type": "",
                                "value": "0"
                              },
                              "variables": [
                                {
                                  "name": "_6",
                                  "nativeSrc": "4640:2:84",
                                  "nodeType": "YulTypedName",
                                  "src": "4640:2:84",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "_6",
                                    "nativeSrc": "4671:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4671:2:84"
                                  },
                                  {
                                    "name": "_6",
                                    "nativeSrc": "4675:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4675:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "4664:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4664:6:84"
                                },
                                "nativeSrc": "4664:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4664:14:84"
                              },
                              "nativeSrc": "4664:14:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "4664:14:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "_5",
                                      "nativeSrc": "4591:2:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "4591:2:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "4595:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "4595:2:84",
                                      "type": "",
                                      "value": "63"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "4587:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4587:3:84"
                                  },
                                  "nativeSrc": "4587:11:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "4587:11:84"
                                },
                                {
                                  "name": "end",
                                  "nativeSrc": "4600:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4600:3:84"
                                }
                              ],
                              "functionName": {
                                "name": "slt",
                                "nativeSrc": "4583:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "4583:3:84"
                              },
                              "nativeSrc": "4583:21:84",
                              "nodeType": "YulFunctionCall",
                              "src": "4583:21:84"
                            }
                          ],
                          "functionName": {
                            "name": "iszero",
                            "nativeSrc": "4576:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "4576:6:84"
                          },
                          "nativeSrc": "4576:29:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4576:29:84"
                        },
                        "nativeSrc": "4573:119:84",
                        "nodeType": "YulIf",
                        "src": "4573:119:84"
                      },
                      {
                        "nativeSrc": "4705:35:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "4705:35:84",
                        "value": {
                          "arguments": [],
                          "functionName": {
                            "name": "allocate_memory_4510",
                            "nativeSrc": "4718:20:84",
                            "nodeType": "YulIdentifier",
                            "src": "4718:20:84"
                          },
                          "nativeSrc": "4718:22:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4718:22:84"
                        },
                        "variables": [
                          {
                            "name": "dst_2",
                            "nativeSrc": "4709:5:84",
                            "nodeType": "YulTypedName",
                            "src": "4709:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "4753:18:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "4753:18:84",
                        "value": {
                          "name": "dst_2",
                          "nativeSrc": "4766:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "4766:5:84"
                        },
                        "variables": [
                          {
                            "name": "dst_3",
                            "nativeSrc": "4757:5:84",
                            "nodeType": "YulTypedName",
                            "src": "4757:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "4784:27:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "4784:27:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "_5",
                              "nativeSrc": "4804:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "4804:2:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4808:2:84",
                              "nodeType": "YulLiteral",
                              "src": "4808:2:84",
                              "type": "",
                              "value": "96"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "4800:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4800:3:84"
                          },
                          "nativeSrc": "4800:11:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4800:11:84"
                        },
                        "variables": [
                          {
                            "name": "srcEnd_1",
                            "nativeSrc": "4788:8:84",
                            "nodeType": "YulTypedName",
                            "src": "4788:8:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "4857:74:84",
                          "nodeType": "YulBlock",
                          "src": "4857:74:84",
                          "statements": [
                            {
                              "nativeSrc": "4875:11:84",
                              "nodeType": "YulVariableDeclaration",
                              "src": "4875:11:84",
                              "value": {
                                "kind": "number",
                                "nativeSrc": "4885:1:84",
                                "nodeType": "YulLiteral",
                                "src": "4885:1:84",
                                "type": "",
                                "value": "0"
                              },
                              "variables": [
                                {
                                  "name": "_7",
                                  "nativeSrc": "4879:2:84",
                                  "nodeType": "YulTypedName",
                                  "src": "4879:2:84",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "_7",
                                    "nativeSrc": "4910:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4910:2:84"
                                  },
                                  {
                                    "name": "_7",
                                    "nativeSrc": "4914:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4914:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "4903:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4903:6:84"
                                },
                                "nativeSrc": "4903:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4903:14:84"
                              },
                              "nativeSrc": "4903:14:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "4903:14:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "srcEnd_1",
                              "nativeSrc": "4830:8:84",
                              "nodeType": "YulIdentifier",
                              "src": "4830:8:84"
                            },
                            {
                              "name": "end",
                              "nativeSrc": "4840:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "4840:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "4827:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "4827:2:84"
                          },
                          "nativeSrc": "4827:17:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4827:17:84"
                        },
                        "nativeSrc": "4824:107:84",
                        "nodeType": "YulIf",
                        "src": "4824:107:84"
                      },
                      {
                        "nativeSrc": "4944:24:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "4944:24:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "_5",
                              "nativeSrc": "4961:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "4961:2:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "4965:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "4965:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "4957:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4957:3:84"
                          },
                          "nativeSrc": "4957:11:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4957:11:84"
                        },
                        "variables": [
                          {
                            "name": "src_1",
                            "nativeSrc": "4948:5:84",
                            "nodeType": "YulTypedName",
                            "src": "4948:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "5049:342:84",
                          "nodeType": "YulBlock",
                          "src": "5049:342:84",
                          "statements": [
                            {
                              "nativeSrc": "5067:40:84",
                              "nodeType": "YulVariableDeclaration",
                              "src": "5067:40:84",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "src_1",
                                    "nativeSrc": "5101:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "5101:5:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "calldataload",
                                  "nativeSrc": "5088:12:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "5088:12:84"
                                },
                                "nativeSrc": "5088:19:84",
                                "nodeType": "YulFunctionCall",
                                "src": "5088:19:84"
                              },
                              "variables": [
                                {
                                  "name": "innerOffset_1",
                                  "nativeSrc": "5071:13:84",
                                  "nodeType": "YulTypedName",
                                  "src": "5071:13:84",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "body": {
                                "nativeSrc": "5165:86:84",
                                "nodeType": "YulBlock",
                                "src": "5165:86:84",
                                "statements": [
                                  {
                                    "nativeSrc": "5187:11:84",
                                    "nodeType": "YulVariableDeclaration",
                                    "src": "5187:11:84",
                                    "value": {
                                      "kind": "number",
                                      "nativeSrc": "5197:1:84",
                                      "nodeType": "YulLiteral",
                                      "src": "5197:1:84",
                                      "type": "",
                                      "value": "0"
                                    },
                                    "variables": [
                                      {
                                        "name": "_8",
                                        "nativeSrc": "5191:2:84",
                                        "nodeType": "YulTypedName",
                                        "src": "5191:2:84",
                                        "type": ""
                                      }
                                    ]
                                  },
                                  {
                                    "expression": {
                                      "arguments": [
                                        {
                                          "name": "_8",
                                          "nativeSrc": "5226:2:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "5226:2:84"
                                        },
                                        {
                                          "name": "_8",
                                          "nativeSrc": "5230:2:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "5230:2:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "revert",
                                        "nativeSrc": "5219:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "5219:6:84"
                                      },
                                      "nativeSrc": "5219:14:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "5219:14:84"
                                    },
                                    "nativeSrc": "5219:14:84",
                                    "nodeType": "YulExpressionStatement",
                                    "src": "5219:14:84"
                                  }
                                ]
                              },
                              "condition": {
                                "arguments": [
                                  {
                                    "name": "innerOffset_1",
                                    "nativeSrc": "5130:13:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "5130:13:84"
                                  },
                                  {
                                    "name": "_3",
                                    "nativeSrc": "5145:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "5145:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "gt",
                                  "nativeSrc": "5127:2:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "5127:2:84"
                                },
                                "nativeSrc": "5127:21:84",
                                "nodeType": "YulFunctionCall",
                                "src": "5127:21:84"
                              },
                              "nativeSrc": "5124:127:84",
                              "nodeType": "YulIf",
                              "src": "5124:127:84"
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "dst_2",
                                    "nativeSrc": "5275:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "5275:5:84"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "_5",
                                                "nativeSrc": "5307:2:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "5307:2:84"
                                              },
                                              {
                                                "name": "innerOffset_1",
                                                "nativeSrc": "5311:13:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "5311:13:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "5303:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "5303:3:84"
                                            },
                                            "nativeSrc": "5303:22:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "5303:22:84"
                                          },
                                          {
                                            "name": "_2",
                                            "nativeSrc": "5327:2:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "5327:2:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "5299:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "5299:3:84"
                                        },
                                        "nativeSrc": "5299:31:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "5299:31:84"
                                      },
                                      {
                                        "name": "end",
                                        "nativeSrc": "5332:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "5332:3:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "abi_decode_bytes",
                                      "nativeSrc": "5282:16:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "5282:16:84"
                                    },
                                    "nativeSrc": "5282:54:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "5282:54:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "mstore",
                                  "nativeSrc": "5268:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "5268:6:84"
                                },
                                "nativeSrc": "5268:69:84",
                                "nodeType": "YulFunctionCall",
                                "src": "5268:69:84"
                              },
                              "nativeSrc": "5268:69:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "5268:69:84"
                            },
                            {
                              "nativeSrc": "5354:23:84",
                              "nodeType": "YulAssignment",
                              "src": "5354:23:84",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "dst_2",
                                    "nativeSrc": "5367:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "5367:5:84"
                                  },
                                  {
                                    "name": "_2",
                                    "nativeSrc": "5374:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "5374:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "5363:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "5363:3:84"
                                },
                                "nativeSrc": "5363:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "5363:14:84"
                              },
                              "variableNames": [
                                {
                                  "name": "dst_2",
                                  "nativeSrc": "5354:5:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "5354:5:84"
                                }
                              ]
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "src_1",
                              "nativeSrc": "4992:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4992:5:84"
                            },
                            {
                              "name": "srcEnd_1",
                              "nativeSrc": "4999:8:84",
                              "nodeType": "YulIdentifier",
                              "src": "4999:8:84"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "4989:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "4989:2:84"
                          },
                          "nativeSrc": "4989:19:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4989:19:84"
                        },
                        "nativeSrc": "4981:410:84",
                        "nodeType": "YulForLoop",
                        "post": {
                          "nativeSrc": "5009:27:84",
                          "nodeType": "YulBlock",
                          "src": "5009:27:84",
                          "statements": [
                            {
                              "nativeSrc": "5011:23:84",
                              "nodeType": "YulAssignment",
                              "src": "5011:23:84",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "src_1",
                                    "nativeSrc": "5024:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "5024:5:84"
                                  },
                                  {
                                    "name": "_2",
                                    "nativeSrc": "5031:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "5031:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "5020:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "5020:3:84"
                                },
                                "nativeSrc": "5020:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "5020:14:84"
                              },
                              "variableNames": [
                                {
                                  "name": "src_1",
                                  "nativeSrc": "5011:5:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "5011:5:84"
                                }
                              ]
                            }
                          ]
                        },
                        "pre": {
                          "nativeSrc": "4985:3:84",
                          "nodeType": "YulBlock",
                          "src": "4985:3:84",
                          "statements": []
                        },
                        "src": "4981:410:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "5411:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "5411:3:84"
                            },
                            {
                              "name": "dst_3",
                              "nativeSrc": "5416:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "5416:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "5404:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "5404:6:84"
                          },
                          "nativeSrc": "5404:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "5404:18:84"
                        },
                        "nativeSrc": "5404:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "5404:18:84"
                      },
                      {
                        "nativeSrc": "5435:19:84",
                        "nodeType": "YulAssignment",
                        "src": "5435:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "5446:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "5446:3:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "5451:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "5451:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "5442:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "5442:3:84"
                          },
                          "nativeSrc": "5442:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "5442:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "5435:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "5435:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "4255:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "4255:3:84"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "4260:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "4260:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "4252:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "4252:2:84"
                    },
                    "nativeSrc": "4252:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4252:15:84"
                  },
                  "nativeSrc": "4244:1220:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "4268:23:84",
                    "nodeType": "YulBlock",
                    "src": "4268:23:84",
                    "statements": [
                      {
                        "nativeSrc": "4270:19:84",
                        "nodeType": "YulAssignment",
                        "src": "4270:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "4281:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "4281:3:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "4286:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "4286:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "4277:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4277:3:84"
                          },
                          "nativeSrc": "4277:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4277:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "4270:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4270:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "4248:3:84",
                    "nodeType": "YulBlock",
                    "src": "4248:3:84",
                    "statements": []
                  },
                  "src": "4244:1220:84"
                },
                {
                  "nativeSrc": "5473:14:84",
                  "nodeType": "YulAssignment",
                  "src": "5473:14:84",
                  "value": {
                    "name": "dst_1",
                    "nativeSrc": "5482:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "5482:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "5473:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "5473:5:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_array_array_string_dyn",
            "nativeSrc": "3743:1750:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "3786:6:84",
                "nodeType": "YulTypedName",
                "src": "3786:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "3794:3:84",
                "nodeType": "YulTypedName",
                "src": "3794:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "3802:5:84",
                "nodeType": "YulTypedName",
                "src": "3802:5:84",
                "type": ""
              }
            ],
            "src": "3743:1750:84"
          },
          {
            "body": {
              "nativeSrc": "5752:875:84",
              "nodeType": "YulBlock",
              "src": "5752:875:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "5799:16:84",
                    "nodeType": "YulBlock",
                    "src": "5799:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5808:1:84",
                              "nodeType": "YulLiteral",
                              "src": "5808:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5811:1:84",
                              "nodeType": "YulLiteral",
                              "src": "5811:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "5801:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "5801:6:84"
                          },
                          "nativeSrc": "5801:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "5801:12:84"
                        },
                        "nativeSrc": "5801:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "5801:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "5773:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "5773:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "5782:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "5782:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "5769:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5769:3:84"
                        },
                        "nativeSrc": "5769:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5769:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5794:3:84",
                        "nodeType": "YulLiteral",
                        "src": "5794:3:84",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "5765:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "5765:3:84"
                    },
                    "nativeSrc": "5765:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5765:33:84"
                  },
                  "nativeSrc": "5762:53:84",
                  "nodeType": "YulIf",
                  "src": "5762:53:84"
                },
                {
                  "nativeSrc": "5824:60:84",
                  "nodeType": "YulAssignment",
                  "src": "5824:60:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5874:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "5874:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_enum_RadonDataRequestMethods",
                      "nativeSrc": "5834:39:84",
                      "nodeType": "YulIdentifier",
                      "src": "5834:39:84"
                    },
                    "nativeSrc": "5834:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5834:50:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "5824:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5824:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "5893:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5893:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5924:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "5924:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5935:2:84",
                            "nodeType": "YulLiteral",
                            "src": "5935:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5920:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5920:3:84"
                        },
                        "nativeSrc": "5920:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5920:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "5907:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "5907:12:84"
                    },
                    "nativeSrc": "5907:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5907:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "5897:6:84",
                      "nodeType": "YulTypedName",
                      "src": "5897:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "5948:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5948:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "5958:18:84",
                    "nodeType": "YulLiteral",
                    "src": "5958:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "5952:2:84",
                      "nodeType": "YulTypedName",
                      "src": "5952:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6003:16:84",
                    "nodeType": "YulBlock",
                    "src": "6003:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6012:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6012:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6015:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6015:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6005:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6005:6:84"
                          },
                          "nativeSrc": "6005:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6005:12:84"
                        },
                        "nativeSrc": "6005:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6005:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "5991:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "5991:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "5999:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "5999:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "5988:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "5988:2:84"
                    },
                    "nativeSrc": "5988:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5988:14:84"
                  },
                  "nativeSrc": "5985:34:84",
                  "nodeType": "YulIf",
                  "src": "5985:34:84"
                },
                {
                  "nativeSrc": "6028:59:84",
                  "nodeType": "YulAssignment",
                  "src": "6028:59:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6059:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "6059:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "6070:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6070:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6055:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6055:3:84"
                        },
                        "nativeSrc": "6055:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6055:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "6079:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "6079:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes",
                      "nativeSrc": "6038:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "6038:16:84"
                    },
                    "nativeSrc": "6038:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6038:49:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "6028:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6028:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "6096:48:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6096:48:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6129:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "6129:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6140:2:84",
                            "nodeType": "YulLiteral",
                            "src": "6140:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6125:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6125:3:84"
                        },
                        "nativeSrc": "6125:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6125:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "6112:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "6112:12:84"
                    },
                    "nativeSrc": "6112:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6112:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "6100:8:84",
                      "nodeType": "YulTypedName",
                      "src": "6100:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6173:16:84",
                    "nodeType": "YulBlock",
                    "src": "6173:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6182:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6182:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6185:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6185:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6175:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6175:6:84"
                          },
                          "nativeSrc": "6175:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6175:12:84"
                        },
                        "nativeSrc": "6175:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6175:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "6159:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "6159:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "6169:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "6169:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "6156:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "6156:2:84"
                    },
                    "nativeSrc": "6156:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6156:16:84"
                  },
                  "nativeSrc": "6153:36:84",
                  "nodeType": "YulIf",
                  "src": "6153:36:84"
                },
                {
                  "nativeSrc": "6198:61:84",
                  "nodeType": "YulAssignment",
                  "src": "6198:61:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6229:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "6229:9:84"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "6240:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "6240:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6225:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6225:3:84"
                        },
                        "nativeSrc": "6225:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6225:24:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "6251:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "6251:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes",
                      "nativeSrc": "6208:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "6208:16:84"
                    },
                    "nativeSrc": "6208:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6208:51:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "6198:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6198:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "6268:48:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6268:48:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6301:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "6301:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6312:2:84",
                            "nodeType": "YulLiteral",
                            "src": "6312:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6297:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6297:3:84"
                        },
                        "nativeSrc": "6297:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6297:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "6284:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "6284:12:84"
                    },
                    "nativeSrc": "6284:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6284:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset_2",
                      "nativeSrc": "6272:8:84",
                      "nodeType": "YulTypedName",
                      "src": "6272:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6345:16:84",
                    "nodeType": "YulBlock",
                    "src": "6345:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6354:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6354:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6357:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6357:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6347:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6347:6:84"
                          },
                          "nativeSrc": "6347:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6347:12:84"
                        },
                        "nativeSrc": "6347:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6347:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_2",
                        "nativeSrc": "6331:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "6331:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "6341:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "6341:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "6328:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "6328:2:84"
                    },
                    "nativeSrc": "6328:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6328:16:84"
                  },
                  "nativeSrc": "6325:36:84",
                  "nodeType": "YulIf",
                  "src": "6325:36:84"
                },
                {
                  "nativeSrc": "6370:78:84",
                  "nodeType": "YulAssignment",
                  "src": "6370:78:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6418:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "6418:9:84"
                          },
                          {
                            "name": "offset_2",
                            "nativeSrc": "6429:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "6429:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6414:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6414:3:84"
                        },
                        "nativeSrc": "6414:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6414:24:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "6440:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "6440:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_array_string_dyn",
                      "nativeSrc": "6380:33:84",
                      "nodeType": "YulIdentifier",
                      "src": "6380:33:84"
                    },
                    "nativeSrc": "6380:68:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6380:68:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "6370:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6370:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "6457:49:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6457:49:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6490:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "6490:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6501:3:84",
                            "nodeType": "YulLiteral",
                            "src": "6501:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6486:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6486:3:84"
                        },
                        "nativeSrc": "6486:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6486:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "6473:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "6473:12:84"
                    },
                    "nativeSrc": "6473:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6473:33:84"
                  },
                  "variables": [
                    {
                      "name": "offset_3",
                      "nativeSrc": "6461:8:84",
                      "nodeType": "YulTypedName",
                      "src": "6461:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6535:16:84",
                    "nodeType": "YulBlock",
                    "src": "6535:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6544:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6544:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6547:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6547:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6537:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6537:6:84"
                          },
                          "nativeSrc": "6537:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6537:12:84"
                        },
                        "nativeSrc": "6537:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6537:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_3",
                        "nativeSrc": "6521:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "6521:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "6531:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "6531:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "6518:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "6518:2:84"
                    },
                    "nativeSrc": "6518:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6518:16:84"
                  },
                  "nativeSrc": "6515:36:84",
                  "nodeType": "YulIf",
                  "src": "6515:36:84"
                },
                {
                  "nativeSrc": "6560:61:84",
                  "nodeType": "YulAssignment",
                  "src": "6560:61:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6591:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "6591:9:84"
                          },
                          {
                            "name": "offset_3",
                            "nativeSrc": "6602:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "6602:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6587:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6587:3:84"
                        },
                        "nativeSrc": "6587:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6587:24:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "6613:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "6613:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes",
                      "nativeSrc": "6570:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "6570:16:84"
                    },
                    "nativeSrc": "6570:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6570:51:84"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "6560:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6560:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_enum$_RadonDataRequestMethods_$16410t_string_memory_ptrt_string_memory_ptrt_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptrt_bytes_memory_ptr",
            "nativeSrc": "5498:1129:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5686:9:84",
                "nodeType": "YulTypedName",
                "src": "5686:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "5697:7:84",
                "nodeType": "YulTypedName",
                "src": "5697:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "5709:6:84",
                "nodeType": "YulTypedName",
                "src": "5709:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "5717:6:84",
                "nodeType": "YulTypedName",
                "src": "5717:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "5725:6:84",
                "nodeType": "YulTypedName",
                "src": "5725:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "5733:6:84",
                "nodeType": "YulTypedName",
                "src": "5733:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "5741:6:84",
                "nodeType": "YulTypedName",
                "src": "5741:6:84",
                "type": ""
              }
            ],
            "src": "5498:1129:84"
          },
          {
            "body": {
              "nativeSrc": "6741:76:84",
              "nodeType": "YulBlock",
              "src": "6741:76:84",
              "statements": [
                {
                  "nativeSrc": "6751:26:84",
                  "nodeType": "YulAssignment",
                  "src": "6751:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6763:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "6763:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6774:2:84",
                        "nodeType": "YulLiteral",
                        "src": "6774:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6759:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6759:3:84"
                    },
                    "nativeSrc": "6759:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6759:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "6751:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "6751:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6793:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "6793:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "6804:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6804:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6786:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6786:6:84"
                    },
                    "nativeSrc": "6786:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6786:25:84"
                  },
                  "nativeSrc": "6786:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6786:25:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_library_reversed",
            "nativeSrc": "6632:185:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "6710:9:84",
                "nodeType": "YulTypedName",
                "src": "6710:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "6721:6:84",
                "nodeType": "YulTypedName",
                "src": "6721:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "6732:4:84",
                "nodeType": "YulTypedName",
                "src": "6732:4:84",
                "type": ""
              }
            ],
            "src": "6632:185:84"
          },
          {
            "body": {
              "nativeSrc": "6888:95:84",
              "nodeType": "YulBlock",
              "src": "6888:95:84",
              "statements": [
                {
                  "nativeSrc": "6898:29:84",
                  "nodeType": "YulAssignment",
                  "src": "6898:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "6920:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6920:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "6907:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "6907:12:84"
                    },
                    "nativeSrc": "6907:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6907:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "6898:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "6898:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6961:16:84",
                    "nodeType": "YulBlock",
                    "src": "6961:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6970:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6970:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6973:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6973:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6963:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6963:6:84"
                          },
                          "nativeSrc": "6963:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6963:12:84"
                        },
                        "nativeSrc": "6963:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6963:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "6949:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "6949:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6956:2:84",
                            "nodeType": "YulLiteral",
                            "src": "6956:2:84",
                            "type": "",
                            "value": "12"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "6946:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "6946:2:84"
                        },
                        "nativeSrc": "6946:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6946:13:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "6939:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6939:6:84"
                    },
                    "nativeSrc": "6939:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6939:21:84"
                  },
                  "nativeSrc": "6936:41:84",
                  "nodeType": "YulIf",
                  "src": "6936:41:84"
                }
              ]
            },
            "name": "abi_decode_enum_RadonReducerOpcodes",
            "nativeSrc": "6822:161:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "6867:6:84",
                "nodeType": "YulTypedName",
                "src": "6867:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "6878:5:84",
                "nodeType": "YulTypedName",
                "src": "6878:5:84",
                "type": ""
              }
            ],
            "src": "6822:161:84"
          },
          {
            "body": {
              "nativeSrc": "7056:428:84",
              "nodeType": "YulBlock",
              "src": "7056:428:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "7100:16:84",
                    "nodeType": "YulBlock",
                    "src": "7100:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7109:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7109:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7112:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7112:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7102:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7102:6:84"
                          },
                          "nativeSrc": "7102:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7102:12:84"
                        },
                        "nativeSrc": "7102:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7102:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "7077:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7077:3:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "7082:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "7082:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "7073:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7073:3:84"
                        },
                        "nativeSrc": "7073:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7073:19:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7094:4:84",
                        "nodeType": "YulLiteral",
                        "src": "7094:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "7069:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7069:3:84"
                    },
                    "nativeSrc": "7069:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7069:30:84"
                  },
                  "nativeSrc": "7066:50:84",
                  "nodeType": "YulIf",
                  "src": "7066:50:84"
                },
                {
                  "nativeSrc": "7125:31:84",
                  "nodeType": "YulAssignment",
                  "src": "7125:31:84",
                  "value": {
                    "arguments": [],
                    "functionName": {
                      "name": "allocate_memory_4510",
                      "nativeSrc": "7134:20:84",
                      "nodeType": "YulIdentifier",
                      "src": "7134:20:84"
                    },
                    "nativeSrc": "7134:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7134:22:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "7125:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "7125:5:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "7165:38:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7165:38:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7193:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "7193:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "7180:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "7180:12:84"
                    },
                    "nativeSrc": "7180:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7180:23:84"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "7169:7:84",
                      "nodeType": "YulTypedName",
                      "src": "7169:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7239:16:84",
                    "nodeType": "YulBlock",
                    "src": "7239:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7248:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7248:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7251:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7251:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7241:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7241:6:84"
                          },
                          "nativeSrc": "7241:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7241:12:84"
                        },
                        "nativeSrc": "7241:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7241:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_1",
                            "nativeSrc": "7225:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "7225:7:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7234:2:84",
                            "nodeType": "YulLiteral",
                            "src": "7234:2:84",
                            "type": "",
                            "value": "10"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "7222:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "7222:2:84"
                        },
                        "nativeSrc": "7222:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7222:15:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "7215:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7215:6:84"
                    },
                    "nativeSrc": "7215:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7215:23:84"
                  },
                  "nativeSrc": "7212:43:84",
                  "nodeType": "YulIf",
                  "src": "7212:43:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "7271:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "7271:5:84"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "7278:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "7278:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7264:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7264:6:84"
                    },
                    "nativeSrc": "7264:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7264:22:84"
                  },
                  "nativeSrc": "7264:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "7264:22:84"
                },
                {
                  "nativeSrc": "7295:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7295:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "7326:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "7326:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7337:2:84",
                            "nodeType": "YulLiteral",
                            "src": "7337:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7322:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7322:3:84"
                        },
                        "nativeSrc": "7322:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7322:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "7309:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "7309:12:84"
                    },
                    "nativeSrc": "7309:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7309:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "7299:6:84",
                      "nodeType": "YulTypedName",
                      "src": "7299:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7384:16:84",
                    "nodeType": "YulBlock",
                    "src": "7384:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7393:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7393:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7396:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7396:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7386:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7386:6:84"
                          },
                          "nativeSrc": "7386:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7386:12:84"
                        },
                        "nativeSrc": "7386:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7386:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "7356:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7356:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7364:18:84",
                        "nodeType": "YulLiteral",
                        "src": "7364:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "7353:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "7353:2:84"
                    },
                    "nativeSrc": "7353:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7353:30:84"
                  },
                  "nativeSrc": "7350:50:84",
                  "nodeType": "YulIf",
                  "src": "7350:50:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "7420:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "7420:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7427:2:84",
                            "nodeType": "YulLiteral",
                            "src": "7427:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7416:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7416:3:84"
                        },
                        "nativeSrc": "7416:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7416:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "7453:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "7453:9:84"
                              },
                              {
                                "name": "offset",
                                "nativeSrc": "7464:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "7464:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "7449:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7449:3:84"
                            },
                            "nativeSrc": "7449:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "7449:22:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "7473:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7473:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_bytes",
                          "nativeSrc": "7432:16:84",
                          "nodeType": "YulIdentifier",
                          "src": "7432:16:84"
                        },
                        "nativeSrc": "7432:45:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7432:45:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7409:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7409:6:84"
                    },
                    "nativeSrc": "7409:69:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7409:69:84"
                  },
                  "nativeSrc": "7409:69:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "7409:69:84"
                }
              ]
            },
            "name": "abi_decode_struct_RadonFilter",
            "nativeSrc": "6988:496:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "7027:9:84",
                "nodeType": "YulTypedName",
                "src": "7027:9:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "7038:3:84",
                "nodeType": "YulTypedName",
                "src": "7038:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "7046:5:84",
                "nodeType": "YulTypedName",
                "src": "7046:5:84",
                "type": ""
              }
            ],
            "src": "6988:496:84"
          },
          {
            "body": {
              "nativeSrc": "7590:1377:84",
              "nodeType": "YulBlock",
              "src": "7590:1377:84",
              "statements": [
                {
                  "nativeSrc": "7600:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7600:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "7610:2:84",
                    "nodeType": "YulLiteral",
                    "src": "7610:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "7604:2:84",
                      "nodeType": "YulTypedName",
                      "src": "7604:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7657:16:84",
                    "nodeType": "YulBlock",
                    "src": "7657:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7666:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7666:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7669:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7669:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7659:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7659:6:84"
                          },
                          "nativeSrc": "7659:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7659:12:84"
                        },
                        "nativeSrc": "7659:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7659:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "7632:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "7632:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "7641:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "7641:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "7628:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7628:3:84"
                        },
                        "nativeSrc": "7628:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7628:23:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "7653:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7653:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "7624:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7624:3:84"
                    },
                    "nativeSrc": "7624:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7624:32:84"
                  },
                  "nativeSrc": "7621:52:84",
                  "nodeType": "YulIf",
                  "src": "7621:52:84"
                },
                {
                  "nativeSrc": "7682:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7682:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7709:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "7709:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "7696:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "7696:12:84"
                    },
                    "nativeSrc": "7696:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7696:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "7686:6:84",
                      "nodeType": "YulTypedName",
                      "src": "7686:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "7728:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7728:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "7738:18:84",
                    "nodeType": "YulLiteral",
                    "src": "7738:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "7732:2:84",
                      "nodeType": "YulTypedName",
                      "src": "7732:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7783:16:84",
                    "nodeType": "YulBlock",
                    "src": "7783:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7792:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7792:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7795:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7795:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7785:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7785:6:84"
                          },
                          "nativeSrc": "7785:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7785:12:84"
                        },
                        "nativeSrc": "7785:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7785:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "7771:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7771:6:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "7779:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7779:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "7768:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "7768:2:84"
                    },
                    "nativeSrc": "7768:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7768:14:84"
                  },
                  "nativeSrc": "7765:34:84",
                  "nodeType": "YulIf",
                  "src": "7765:34:84"
                },
                {
                  "nativeSrc": "7808:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7808:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7822:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "7822:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "7833:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7833:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7818:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7818:3:84"
                    },
                    "nativeSrc": "7818:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7818:22:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "7812:2:84",
                      "nodeType": "YulTypedName",
                      "src": "7812:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7880:16:84",
                    "nodeType": "YulBlock",
                    "src": "7880:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7889:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7889:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7892:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7892:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7882:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7882:6:84"
                          },
                          "nativeSrc": "7882:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7882:12:84"
                        },
                        "nativeSrc": "7882:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7882:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "7860:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "7860:7:84"
                          },
                          {
                            "name": "_3",
                            "nativeSrc": "7869:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "7869:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "7856:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7856:3:84"
                        },
                        "nativeSrc": "7856:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7856:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7874:4:84",
                        "nodeType": "YulLiteral",
                        "src": "7874:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "7852:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7852:3:84"
                    },
                    "nativeSrc": "7852:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7852:27:84"
                  },
                  "nativeSrc": "7849:47:84",
                  "nodeType": "YulIf",
                  "src": "7849:47:84"
                },
                {
                  "nativeSrc": "7905:35:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7905:35:84",
                  "value": {
                    "arguments": [],
                    "functionName": {
                      "name": "allocate_memory_4510",
                      "nativeSrc": "7918:20:84",
                      "nodeType": "YulIdentifier",
                      "src": "7918:20:84"
                    },
                    "nativeSrc": "7918:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7918:22:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "7909:5:84",
                      "nodeType": "YulTypedName",
                      "src": "7909:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "7956:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "7956:5:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_3",
                            "nativeSrc": "7999:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "7999:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_enum_RadonReducerOpcodes",
                          "nativeSrc": "7963:35:84",
                          "nodeType": "YulIdentifier",
                          "src": "7963:35:84"
                        },
                        "nativeSrc": "7963:39:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7963:39:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7949:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7949:6:84"
                    },
                    "nativeSrc": "7949:54:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7949:54:84"
                  },
                  "nativeSrc": "7949:54:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "7949:54:84"
                },
                {
                  "nativeSrc": "8012:41:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8012:41:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_3",
                            "nativeSrc": "8045:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "8045:2:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "8049:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "8049:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8041:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8041:3:84"
                        },
                        "nativeSrc": "8041:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8041:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8028:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "8028:12:84"
                    },
                    "nativeSrc": "8028:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8028:25:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "8016:8:84",
                      "nodeType": "YulTypedName",
                      "src": "8016:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8082:16:84",
                    "nodeType": "YulBlock",
                    "src": "8082:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8091:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8091:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8094:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8094:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8084:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8084:6:84"
                          },
                          "nativeSrc": "8084:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8084:12:84"
                        },
                        "nativeSrc": "8084:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8084:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "8068:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "8068:8:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "8078:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8078:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "8065:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "8065:2:84"
                    },
                    "nativeSrc": "8065:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8065:16:84"
                  },
                  "nativeSrc": "8062:36:84",
                  "nodeType": "YulIf",
                  "src": "8062:36:84"
                },
                {
                  "nativeSrc": "8107:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8107:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_3",
                        "nativeSrc": "8121:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8121:2:84"
                      },
                      {
                        "name": "offset_1",
                        "nativeSrc": "8125:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "8125:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8117:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8117:3:84"
                    },
                    "nativeSrc": "8117:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8117:17:84"
                  },
                  "variables": [
                    {
                      "name": "_4",
                      "nativeSrc": "8111:2:84",
                      "nodeType": "YulTypedName",
                      "src": "8111:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8182:16:84",
                    "nodeType": "YulBlock",
                    "src": "8182:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8191:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8191:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8194:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8194:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8184:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8184:6:84"
                          },
                          "nativeSrc": "8184:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8184:12:84"
                        },
                        "nativeSrc": "8184:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8184:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_4",
                                "nativeSrc": "8161:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "8161:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "8165:4:84",
                                "nodeType": "YulLiteral",
                                "src": "8165:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "8157:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8157:3:84"
                            },
                            "nativeSrc": "8157:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "8157:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "8172:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "8172:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "8153:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8153:3:84"
                        },
                        "nativeSrc": "8153:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8153:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "8146:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8146:6:84"
                    },
                    "nativeSrc": "8146:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8146:35:84"
                  },
                  "nativeSrc": "8143:55:84",
                  "nodeType": "YulIf",
                  "src": "8143:55:84"
                },
                {
                  "nativeSrc": "8207:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8207:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_4",
                        "nativeSrc": "8230:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8230:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8217:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "8217:12:84"
                    },
                    "nativeSrc": "8217:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8217:16:84"
                  },
                  "variables": [
                    {
                      "name": "_5",
                      "nativeSrc": "8211:2:84",
                      "nodeType": "YulTypedName",
                      "src": "8211:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "8242:76:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8242:76:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_5",
                            "nativeSrc": "8314:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "8314:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "array_allocation_size_array_array_string_dyn",
                          "nativeSrc": "8269:44:84",
                          "nodeType": "YulIdentifier",
                          "src": "8269:44:84"
                        },
                        "nativeSrc": "8269:48:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8269:48:84"
                      }
                    ],
                    "functionName": {
                      "name": "allocate_memory",
                      "nativeSrc": "8253:15:84",
                      "nodeType": "YulIdentifier",
                      "src": "8253:15:84"
                    },
                    "nativeSrc": "8253:65:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8253:65:84"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "8246:3:84",
                      "nodeType": "YulTypedName",
                      "src": "8246:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "8327:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8327:16:84",
                  "value": {
                    "name": "dst",
                    "nativeSrc": "8340:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "8340:3:84"
                  },
                  "variables": [
                    {
                      "name": "dst_1",
                      "nativeSrc": "8331:5:84",
                      "nodeType": "YulTypedName",
                      "src": "8331:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "dst",
                        "nativeSrc": "8359:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "8359:3:84"
                      },
                      {
                        "name": "_5",
                        "nativeSrc": "8364:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8364:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8352:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8352:6:84"
                    },
                    "nativeSrc": "8352:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8352:15:84"
                  },
                  "nativeSrc": "8352:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "8352:15:84"
                },
                {
                  "nativeSrc": "8376:19:84",
                  "nodeType": "YulAssignment",
                  "src": "8376:19:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "dst",
                        "nativeSrc": "8387:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "8387:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "8392:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8392:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8383:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8383:3:84"
                    },
                    "nativeSrc": "8383:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8383:12:84"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "8376:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8376:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "8404:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8404:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_4",
                            "nativeSrc": "8426:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "8426:2:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "8434:1:84",
                                "nodeType": "YulLiteral",
                                "src": "8434:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "_5",
                                "nativeSrc": "8437:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "8437:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "8430:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8430:3:84"
                            },
                            "nativeSrc": "8430:10:84",
                            "nodeType": "YulFunctionCall",
                            "src": "8430:10:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8422:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8422:3:84"
                        },
                        "nativeSrc": "8422:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8422:19:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "8443:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8443:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8418:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8418:3:84"
                    },
                    "nativeSrc": "8418:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8418:28:84"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "8408:6:84",
                      "nodeType": "YulTypedName",
                      "src": "8408:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8478:16:84",
                    "nodeType": "YulBlock",
                    "src": "8478:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8487:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8487:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8490:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8490:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8480:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8480:6:84"
                          },
                          "nativeSrc": "8480:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8480:12:84"
                        },
                        "nativeSrc": "8480:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8480:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "8461:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8461:6:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "8469:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "8469:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "8458:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "8458:2:84"
                    },
                    "nativeSrc": "8458:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8458:19:84"
                  },
                  "nativeSrc": "8455:39:84",
                  "nodeType": "YulIf",
                  "src": "8455:39:84"
                },
                {
                  "nativeSrc": "8503:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8503:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_4",
                        "nativeSrc": "8518:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8518:2:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "8522:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8522:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8514:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8514:3:84"
                    },
                    "nativeSrc": "8514:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8514:11:84"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "8507:3:84",
                      "nodeType": "YulTypedName",
                      "src": "8507:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8590:309:84",
                    "nodeType": "YulBlock",
                    "src": "8590:309:84",
                    "statements": [
                      {
                        "nativeSrc": "8604:36:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "8604:36:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "8636:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8636:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "calldataload",
                            "nativeSrc": "8623:12:84",
                            "nodeType": "YulIdentifier",
                            "src": "8623:12:84"
                          },
                          "nativeSrc": "8623:17:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8623:17:84"
                        },
                        "variables": [
                          {
                            "name": "innerOffset",
                            "nativeSrc": "8608:11:84",
                            "nodeType": "YulTypedName",
                            "src": "8608:11:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "8688:74:84",
                          "nodeType": "YulBlock",
                          "src": "8688:74:84",
                          "statements": [
                            {
                              "nativeSrc": "8706:11:84",
                              "nodeType": "YulVariableDeclaration",
                              "src": "8706:11:84",
                              "value": {
                                "kind": "number",
                                "nativeSrc": "8716:1:84",
                                "nodeType": "YulLiteral",
                                "src": "8716:1:84",
                                "type": "",
                                "value": "0"
                              },
                              "variables": [
                                {
                                  "name": "_6",
                                  "nativeSrc": "8710:2:84",
                                  "nodeType": "YulTypedName",
                                  "src": "8710:2:84",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "_6",
                                    "nativeSrc": "8741:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "8741:2:84"
                                  },
                                  {
                                    "name": "_6",
                                    "nativeSrc": "8745:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "8745:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "8734:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "8734:6:84"
                                },
                                "nativeSrc": "8734:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "8734:14:84"
                              },
                              "nativeSrc": "8734:14:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "8734:14:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "innerOffset",
                              "nativeSrc": "8659:11:84",
                              "nodeType": "YulIdentifier",
                              "src": "8659:11:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "8672:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "8672:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "8656:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "8656:2:84"
                          },
                          "nativeSrc": "8656:19:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8656:19:84"
                        },
                        "nativeSrc": "8653:109:84",
                        "nodeType": "YulIf",
                        "src": "8653:109:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "8782:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8782:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "name": "_4",
                                          "nativeSrc": "8825:2:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "8825:2:84"
                                        },
                                        {
                                          "name": "innerOffset",
                                          "nativeSrc": "8829:11:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "8829:11:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "add",
                                        "nativeSrc": "8821:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "8821:3:84"
                                      },
                                      "nativeSrc": "8821:20:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "8821:20:84"
                                    },
                                    {
                                      "name": "_1",
                                      "nativeSrc": "8843:2:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "8843:2:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "8817:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "8817:3:84"
                                  },
                                  "nativeSrc": "8817:29:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "8817:29:84"
                                },
                                {
                                  "name": "dataEnd",
                                  "nativeSrc": "8848:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "8848:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_struct_RadonFilter",
                                "nativeSrc": "8787:29:84",
                                "nodeType": "YulIdentifier",
                                "src": "8787:29:84"
                              },
                              "nativeSrc": "8787:69:84",
                              "nodeType": "YulFunctionCall",
                              "src": "8787:69:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "8775:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8775:6:84"
                          },
                          "nativeSrc": "8775:82:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8775:82:84"
                        },
                        "nativeSrc": "8775:82:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8775:82:84"
                      },
                      {
                        "nativeSrc": "8870:19:84",
                        "nodeType": "YulAssignment",
                        "src": "8870:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "8881:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8881:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "8886:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "8886:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "8877:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "8877:3:84"
                          },
                          "nativeSrc": "8877:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8877:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "8870:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "8870:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "8545:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "8545:3:84"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "8550:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8550:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "8542:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "8542:2:84"
                    },
                    "nativeSrc": "8542:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8542:15:84"
                  },
                  "nativeSrc": "8534:365:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "8558:23:84",
                    "nodeType": "YulBlock",
                    "src": "8558:23:84",
                    "statements": [
                      {
                        "nativeSrc": "8560:19:84",
                        "nodeType": "YulAssignment",
                        "src": "8560:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "8571:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8571:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "8576:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "8576:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "8567:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "8567:3:84"
                          },
                          "nativeSrc": "8567:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8567:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "8560:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "8560:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "8538:3:84",
                    "nodeType": "YulBlock",
                    "src": "8538:3:84",
                    "statements": []
                  },
                  "src": "8534:365:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "8919:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "8919:5:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "8926:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "8926:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8915:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8915:3:84"
                        },
                        "nativeSrc": "8915:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8915:14:84"
                      },
                      {
                        "name": "dst_1",
                        "nativeSrc": "8931:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "8931:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8908:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8908:6:84"
                    },
                    "nativeSrc": "8908:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8908:29:84"
                  },
                  "nativeSrc": "8908:29:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "8908:29:84"
                },
                {
                  "nativeSrc": "8946:15:84",
                  "nodeType": "YulAssignment",
                  "src": "8946:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "8956:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "8956:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "8946:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8946:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_RadonReducer_$16460_memory_ptr",
            "nativeSrc": "7489:1478:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "7556:9:84",
                "nodeType": "YulTypedName",
                "src": "7556:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "7567:7:84",
                "nodeType": "YulTypedName",
                "src": "7567:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "7579:6:84",
                "nodeType": "YulTypedName",
                "src": "7579:6:84",
                "type": ""
              }
            ],
            "src": "7489:1478:84"
          },
          {
            "body": {
              "nativeSrc": "9067:133:84",
              "nodeType": "YulBlock",
              "src": "9067:133:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "9113:16:84",
                    "nodeType": "YulBlock",
                    "src": "9113:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "9122:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9122:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "9125:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9125:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "9115:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9115:6:84"
                          },
                          "nativeSrc": "9115:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "9115:12:84"
                        },
                        "nativeSrc": "9115:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "9115:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "9088:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "9088:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "9097:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "9097:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "9084:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9084:3:84"
                        },
                        "nativeSrc": "9084:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9084:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9109:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9109:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "9080:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9080:3:84"
                    },
                    "nativeSrc": "9080:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9080:32:84"
                  },
                  "nativeSrc": "9077:52:84",
                  "nodeType": "YulIf",
                  "src": "9077:52:84"
                },
                {
                  "nativeSrc": "9138:56:84",
                  "nodeType": "YulAssignment",
                  "src": "9138:56:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9184:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9184:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_enum_RadonReducerOpcodes",
                      "nativeSrc": "9148:35:84",
                      "nodeType": "YulIdentifier",
                      "src": "9148:35:84"
                    },
                    "nativeSrc": "9148:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9148:46:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "9138:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9138:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_enum$_RadonReducerOpcodes_$16474",
            "nativeSrc": "8972:228:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9033:9:84",
                "nodeType": "YulTypedName",
                "src": "9033:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "9044:7:84",
                "nodeType": "YulTypedName",
                "src": "9044:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "9056:6:84",
                "nodeType": "YulTypedName",
                "src": "9056:6:84",
                "type": ""
              }
            ],
            "src": "8972:228:84"
          },
          {
            "body": {
              "nativeSrc": "9252:109:84",
              "nodeType": "YulBlock",
              "src": "9252:109:84",
              "statements": [
                {
                  "nativeSrc": "9262:29:84",
                  "nodeType": "YulAssignment",
                  "src": "9262:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "9284:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9284:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "9271:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "9271:12:84"
                    },
                    "nativeSrc": "9271:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9271:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "9262:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "9262:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "9339:16:84",
                    "nodeType": "YulBlock",
                    "src": "9339:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "9348:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9348:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "9351:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9351:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "9341:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9341:6:84"
                          },
                          "nativeSrc": "9341:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "9341:12:84"
                        },
                        "nativeSrc": "9341:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "9341:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "9313:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "9313:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "9324:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "9324:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "9331:4:84",
                                "nodeType": "YulLiteral",
                                "src": "9331:4:84",
                                "type": "",
                                "value": "0xff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "9320:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "9320:3:84"
                            },
                            "nativeSrc": "9320:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "9320:16:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "9310:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "9310:2:84"
                        },
                        "nativeSrc": "9310:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9310:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "9303:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9303:6:84"
                    },
                    "nativeSrc": "9303:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9303:35:84"
                  },
                  "nativeSrc": "9300:55:84",
                  "nodeType": "YulIf",
                  "src": "9300:55:84"
                }
              ]
            },
            "name": "abi_decode_uint8",
            "nativeSrc": "9205:156:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "9231:6:84",
                "nodeType": "YulTypedName",
                "src": "9231:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "9242:5:84",
                "nodeType": "YulTypedName",
                "src": "9242:5:84",
                "type": ""
              }
            ],
            "src": "9205:156:84"
          },
          {
            "body": {
              "nativeSrc": "9414:123:84",
              "nodeType": "YulBlock",
              "src": "9414:123:84",
              "statements": [
                {
                  "nativeSrc": "9424:29:84",
                  "nodeType": "YulAssignment",
                  "src": "9424:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "9446:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9446:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "9433:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "9433:12:84"
                    },
                    "nativeSrc": "9433:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9433:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "9424:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "9424:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "9515:16:84",
                    "nodeType": "YulBlock",
                    "src": "9515:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "9524:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9524:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "9527:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9527:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "9517:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9517:6:84"
                          },
                          "nativeSrc": "9517:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "9517:12:84"
                        },
                        "nativeSrc": "9517:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "9517:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "9475:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "9475:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "9486:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "9486:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "9493:18:84",
                                "nodeType": "YulLiteral",
                                "src": "9493:18:84",
                                "type": "",
                                "value": "0xffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "9482:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "9482:3:84"
                            },
                            "nativeSrc": "9482:30:84",
                            "nodeType": "YulFunctionCall",
                            "src": "9482:30:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "9472:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "9472:2:84"
                        },
                        "nativeSrc": "9472:41:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9472:41:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "9465:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9465:6:84"
                    },
                    "nativeSrc": "9465:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9465:49:84"
                  },
                  "nativeSrc": "9462:69:84",
                  "nodeType": "YulIf",
                  "src": "9462:69:84"
                }
              ]
            },
            "name": "abi_decode_uint64",
            "nativeSrc": "9366:171:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "9393:6:84",
                "nodeType": "YulTypedName",
                "src": "9393:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "9404:5:84",
                "nodeType": "YulTypedName",
                "src": "9404:5:84",
                "type": ""
              }
            ],
            "src": "9366:171:84"
          },
          {
            "body": {
              "nativeSrc": "9639:634:84",
              "nodeType": "YulBlock",
              "src": "9639:634:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "9686:16:84",
                    "nodeType": "YulBlock",
                    "src": "9686:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "9695:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9695:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "9698:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9698:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "9688:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9688:6:84"
                          },
                          "nativeSrc": "9688:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "9688:12:84"
                        },
                        "nativeSrc": "9688:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "9688:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "9660:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "9660:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "9669:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "9669:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "9656:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9656:3:84"
                        },
                        "nativeSrc": "9656:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9656:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9681:3:84",
                        "nodeType": "YulLiteral",
                        "src": "9681:3:84",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "9652:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9652:3:84"
                    },
                    "nativeSrc": "9652:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9652:33:84"
                  },
                  "nativeSrc": "9649:53:84",
                  "nodeType": "YulIf",
                  "src": "9649:53:84"
                },
                {
                  "nativeSrc": "9711:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9711:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "9731:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9731:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "9725:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "9725:5:84"
                    },
                    "nativeSrc": "9725:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9725:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "9715:6:84",
                      "nodeType": "YulTypedName",
                      "src": "9715:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "9743:34:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9743:34:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "9765:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9765:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9773:3:84",
                        "nodeType": "YulLiteral",
                        "src": "9773:3:84",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9761:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9761:3:84"
                    },
                    "nativeSrc": "9761:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9761:16:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "9747:10:84",
                      "nodeType": "YulTypedName",
                      "src": "9747:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "9852:22:84",
                    "nodeType": "YulBlock",
                    "src": "9852:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "9854:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "9854:16:84"
                          },
                          "nativeSrc": "9854:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "9854:18:84"
                        },
                        "nativeSrc": "9854:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "9854:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "9795:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "9795:10:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9807:18:84",
                            "nodeType": "YulLiteral",
                            "src": "9807:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "9792:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "9792:2:84"
                        },
                        "nativeSrc": "9792:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9792:34:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "9831:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "9831:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "9843:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9843:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "9828:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "9828:2:84"
                        },
                        "nativeSrc": "9828:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9828:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "9789:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "9789:2:84"
                    },
                    "nativeSrc": "9789:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9789:62:84"
                  },
                  "nativeSrc": "9786:88:84",
                  "nodeType": "YulIf",
                  "src": "9786:88:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "9890:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9890:2:84",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "9894:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "9894:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9883:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9883:6:84"
                    },
                    "nativeSrc": "9883:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9883:22:84"
                  },
                  "nativeSrc": "9883:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9883:22:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "9921:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9921:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9946:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "9946:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint8",
                          "nativeSrc": "9929:16:84",
                          "nodeType": "YulIdentifier",
                          "src": "9929:16:84"
                        },
                        "nativeSrc": "9929:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9929:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9914:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9914:6:84"
                    },
                    "nativeSrc": "9914:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9914:43:84"
                  },
                  "nativeSrc": "9914:43:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9914:43:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "9977:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9977:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9985:2:84",
                            "nodeType": "YulLiteral",
                            "src": "9985:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9973:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9973:3:84"
                        },
                        "nativeSrc": "9973:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9973:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "10011:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "10011:9:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "10022:2:84",
                                "nodeType": "YulLiteral",
                                "src": "10022:2:84",
                                "type": "",
                                "value": "32"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "10007:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10007:3:84"
                            },
                            "nativeSrc": "10007:18:84",
                            "nodeType": "YulFunctionCall",
                            "src": "10007:18:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint8",
                          "nativeSrc": "9990:16:84",
                          "nodeType": "YulIdentifier",
                          "src": "9990:16:84"
                        },
                        "nativeSrc": "9990:36:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9990:36:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9966:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9966:6:84"
                    },
                    "nativeSrc": "9966:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9966:61:84"
                  },
                  "nativeSrc": "9966:61:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9966:61:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "10047:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10047:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10055:2:84",
                            "nodeType": "YulLiteral",
                            "src": "10055:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10043:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10043:3:84"
                        },
                        "nativeSrc": "10043:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10043:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "10082:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "10082:9:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "10093:2:84",
                                "nodeType": "YulLiteral",
                                "src": "10093:2:84",
                                "type": "",
                                "value": "64"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "10078:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10078:3:84"
                            },
                            "nativeSrc": "10078:18:84",
                            "nodeType": "YulFunctionCall",
                            "src": "10078:18:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint64",
                          "nativeSrc": "10060:17:84",
                          "nodeType": "YulIdentifier",
                          "src": "10060:17:84"
                        },
                        "nativeSrc": "10060:37:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10060:37:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10036:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10036:6:84"
                    },
                    "nativeSrc": "10036:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10036:62:84"
                  },
                  "nativeSrc": "10036:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10036:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "10118:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10118:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10126:2:84",
                            "nodeType": "YulLiteral",
                            "src": "10126:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10114:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10114:3:84"
                        },
                        "nativeSrc": "10114:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10114:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "10153:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "10153:9:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "10164:2:84",
                                "nodeType": "YulLiteral",
                                "src": "10164:2:84",
                                "type": "",
                                "value": "96"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "10149:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10149:3:84"
                            },
                            "nativeSrc": "10149:18:84",
                            "nodeType": "YulFunctionCall",
                            "src": "10149:18:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint64",
                          "nativeSrc": "10131:17:84",
                          "nodeType": "YulIdentifier",
                          "src": "10131:17:84"
                        },
                        "nativeSrc": "10131:37:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10131:37:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10107:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10107:6:84"
                    },
                    "nativeSrc": "10107:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10107:62:84"
                  },
                  "nativeSrc": "10107:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10107:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "10189:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10189:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10197:3:84",
                            "nodeType": "YulLiteral",
                            "src": "10197:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10185:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10185:3:84"
                        },
                        "nativeSrc": "10185:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10185:16:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "10225:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "10225:9:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "10236:3:84",
                                "nodeType": "YulLiteral",
                                "src": "10236:3:84",
                                "type": "",
                                "value": "128"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "10221:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10221:3:84"
                            },
                            "nativeSrc": "10221:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "10221:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint64",
                          "nativeSrc": "10203:17:84",
                          "nodeType": "YulIdentifier",
                          "src": "10203:17:84"
                        },
                        "nativeSrc": "10203:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10203:38:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10178:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10178:6:84"
                    },
                    "nativeSrc": "10178:64:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10178:64:84"
                  },
                  "nativeSrc": "10178:64:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10178:64:84"
                },
                {
                  "nativeSrc": "10251:16:84",
                  "nodeType": "YulAssignment",
                  "src": "10251:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "10261:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "10261:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "10251:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10251:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_RadonSLA_$16519_memory_ptr",
            "nativeSrc": "9542:731:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9605:9:84",
                "nodeType": "YulTypedName",
                "src": "9605:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "9616:7:84",
                "nodeType": "YulTypedName",
                "src": "9616:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "9628:6:84",
                "nodeType": "YulTypedName",
                "src": "9628:6:84",
                "type": ""
              }
            ],
            "src": "9542:731:84"
          },
          {
            "body": {
              "nativeSrc": "10349:1114:84",
              "nodeType": "YulBlock",
              "src": "10349:1114:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "10393:16:84",
                    "nodeType": "YulBlock",
                    "src": "10393:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "10402:1:84",
                              "nodeType": "YulLiteral",
                              "src": "10402:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "10405:1:84",
                              "nodeType": "YulLiteral",
                              "src": "10405:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "10395:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10395:6:84"
                          },
                          "nativeSrc": "10395:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10395:12:84"
                        },
                        "nativeSrc": "10395:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "10395:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "10370:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "10370:3:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "10375:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "10375:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "10366:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10366:3:84"
                        },
                        "nativeSrc": "10366:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10366:19:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10387:4:84",
                        "nodeType": "YulLiteral",
                        "src": "10387:4:84",
                        "type": "",
                        "value": "0xe0"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "10362:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10362:3:84"
                    },
                    "nativeSrc": "10362:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10362:30:84"
                  },
                  "nativeSrc": "10359:50:84",
                  "nodeType": "YulIf",
                  "src": "10359:50:84"
                },
                {
                  "nativeSrc": "10418:31:84",
                  "nodeType": "YulAssignment",
                  "src": "10418:31:84",
                  "value": {
                    "arguments": [],
                    "functionName": {
                      "name": "allocate_memory_4516",
                      "nativeSrc": "10427:20:84",
                      "nodeType": "YulIdentifier",
                      "src": "10427:20:84"
                    },
                    "nativeSrc": "10427:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10427:22:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "10418:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "10418:5:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "10465:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "10465:5:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10489:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "10489:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint8",
                          "nativeSrc": "10472:16:84",
                          "nodeType": "YulIdentifier",
                          "src": "10472:16:84"
                        },
                        "nativeSrc": "10472:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10472:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10458:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10458:6:84"
                    },
                    "nativeSrc": "10458:42:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10458:42:84"
                  },
                  "nativeSrc": "10458:42:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10458:42:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "10520:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "10520:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10527:2:84",
                            "nodeType": "YulLiteral",
                            "src": "10527:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10516:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10516:3:84"
                        },
                        "nativeSrc": "10516:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10516:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "10576:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "10576:9:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "10587:2:84",
                                "nodeType": "YulLiteral",
                                "src": "10587:2:84",
                                "type": "",
                                "value": "32"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "10572:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10572:3:84"
                            },
                            "nativeSrc": "10572:18:84",
                            "nodeType": "YulFunctionCall",
                            "src": "10572:18:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_enum_RadonDataRequestMethods",
                          "nativeSrc": "10532:39:84",
                          "nodeType": "YulIdentifier",
                          "src": "10532:39:84"
                        },
                        "nativeSrc": "10532:59:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10532:59:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10509:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10509:6:84"
                    },
                    "nativeSrc": "10509:83:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10509:83:84"
                  },
                  "nativeSrc": "10509:83:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10509:83:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "10612:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "10612:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10619:2:84",
                            "nodeType": "YulLiteral",
                            "src": "10619:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10608:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10608:3:84"
                        },
                        "nativeSrc": "10608:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10608:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "10659:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "10659:9:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "10670:2:84",
                                "nodeType": "YulLiteral",
                                "src": "10670:2:84",
                                "type": "",
                                "value": "64"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "10655:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10655:3:84"
                            },
                            "nativeSrc": "10655:18:84",
                            "nodeType": "YulFunctionCall",
                            "src": "10655:18:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_enum_RadonDataTypes",
                          "nativeSrc": "10624:30:84",
                          "nodeType": "YulIdentifier",
                          "src": "10624:30:84"
                        },
                        "nativeSrc": "10624:50:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10624:50:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10601:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10601:6:84"
                    },
                    "nativeSrc": "10601:74:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10601:74:84"
                  },
                  "nativeSrc": "10601:74:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10601:74:84"
                },
                {
                  "nativeSrc": "10684:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "10684:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10715:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "10715:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10726:2:84",
                            "nodeType": "YulLiteral",
                            "src": "10726:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10711:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10711:3:84"
                        },
                        "nativeSrc": "10711:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10711:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "10698:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "10698:12:84"
                    },
                    "nativeSrc": "10698:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10698:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "10688:6:84",
                      "nodeType": "YulTypedName",
                      "src": "10688:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "10739:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "10739:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "10749:18:84",
                    "nodeType": "YulLiteral",
                    "src": "10749:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "10743:2:84",
                      "nodeType": "YulTypedName",
                      "src": "10743:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "10794:16:84",
                    "nodeType": "YulBlock",
                    "src": "10794:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "10803:1:84",
                              "nodeType": "YulLiteral",
                              "src": "10803:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "10806:1:84",
                              "nodeType": "YulLiteral",
                              "src": "10806:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "10796:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10796:6:84"
                          },
                          "nativeSrc": "10796:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10796:12:84"
                        },
                        "nativeSrc": "10796:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "10796:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "10782:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "10782:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "10790:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "10790:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "10779:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "10779:2:84"
                    },
                    "nativeSrc": "10779:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10779:14:84"
                  },
                  "nativeSrc": "10776:34:84",
                  "nodeType": "YulIf",
                  "src": "10776:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "10830:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "10830:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10837:2:84",
                            "nodeType": "YulLiteral",
                            "src": "10837:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10826:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10826:3:84"
                        },
                        "nativeSrc": "10826:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10826:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "10863:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "10863:9:84"
                              },
                              {
                                "name": "offset",
                                "nativeSrc": "10874:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "10874:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "10859:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10859:3:84"
                            },
                            "nativeSrc": "10859:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "10859:22:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "10883:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "10883:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_bytes",
                          "nativeSrc": "10842:16:84",
                          "nodeType": "YulIdentifier",
                          "src": "10842:16:84"
                        },
                        "nativeSrc": "10842:45:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10842:45:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10819:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10819:6:84"
                    },
                    "nativeSrc": "10819:69:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10819:69:84"
                  },
                  "nativeSrc": "10819:69:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10819:69:84"
                },
                {
                  "nativeSrc": "10897:49:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "10897:49:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10930:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "10930:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10941:3:84",
                            "nodeType": "YulLiteral",
                            "src": "10941:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10926:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10926:3:84"
                        },
                        "nativeSrc": "10926:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10926:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "10913:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "10913:12:84"
                    },
                    "nativeSrc": "10913:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10913:33:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "10901:8:84",
                      "nodeType": "YulTypedName",
                      "src": "10901:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "10975:16:84",
                    "nodeType": "YulBlock",
                    "src": "10975:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "10984:1:84",
                              "nodeType": "YulLiteral",
                              "src": "10984:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "10987:1:84",
                              "nodeType": "YulLiteral",
                              "src": "10987:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "10977:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10977:6:84"
                          },
                          "nativeSrc": "10977:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10977:12:84"
                        },
                        "nativeSrc": "10977:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "10977:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "10961:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "10961:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "10971:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "10971:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "10958:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "10958:2:84"
                    },
                    "nativeSrc": "10958:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10958:16:84"
                  },
                  "nativeSrc": "10955:36:84",
                  "nodeType": "YulIf",
                  "src": "10955:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "11011:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "11011:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11018:3:84",
                            "nodeType": "YulLiteral",
                            "src": "11018:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11007:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11007:3:84"
                        },
                        "nativeSrc": "11007:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11007:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "11045:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "11045:9:84"
                              },
                              {
                                "name": "offset_1",
                                "nativeSrc": "11056:8:84",
                                "nodeType": "YulIdentifier",
                                "src": "11056:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "11041:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "11041:3:84"
                            },
                            "nativeSrc": "11041:24:84",
                            "nodeType": "YulFunctionCall",
                            "src": "11041:24:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "11067:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11067:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_bytes",
                          "nativeSrc": "11024:16:84",
                          "nodeType": "YulIdentifier",
                          "src": "11024:16:84"
                        },
                        "nativeSrc": "11024:47:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11024:47:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11000:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11000:6:84"
                    },
                    "nativeSrc": "11000:72:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11000:72:84"
                  },
                  "nativeSrc": "11000:72:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11000:72:84"
                },
                {
                  "nativeSrc": "11081:49:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11081:49:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "11114:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "11114:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11125:3:84",
                            "nodeType": "YulLiteral",
                            "src": "11125:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11110:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11110:3:84"
                        },
                        "nativeSrc": "11110:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11110:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "11097:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "11097:12:84"
                    },
                    "nativeSrc": "11097:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11097:33:84"
                  },
                  "variables": [
                    {
                      "name": "offset_2",
                      "nativeSrc": "11085:8:84",
                      "nodeType": "YulTypedName",
                      "src": "11085:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "11159:16:84",
                    "nodeType": "YulBlock",
                    "src": "11159:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "11168:1:84",
                              "nodeType": "YulLiteral",
                              "src": "11168:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11171:1:84",
                              "nodeType": "YulLiteral",
                              "src": "11171:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "11161:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "11161:6:84"
                          },
                          "nativeSrc": "11161:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11161:12:84"
                        },
                        "nativeSrc": "11161:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "11161:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_2",
                        "nativeSrc": "11145:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "11145:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "11155:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "11155:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "11142:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "11142:2:84"
                    },
                    "nativeSrc": "11142:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11142:16:84"
                  },
                  "nativeSrc": "11139:36:84",
                  "nodeType": "YulIf",
                  "src": "11139:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "11195:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "11195:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11202:3:84",
                            "nodeType": "YulLiteral",
                            "src": "11202:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11191:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11191:3:84"
                        },
                        "nativeSrc": "11191:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11191:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "11246:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "11246:9:84"
                              },
                              {
                                "name": "offset_2",
                                "nativeSrc": "11257:8:84",
                                "nodeType": "YulIdentifier",
                                "src": "11257:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "11242:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "11242:3:84"
                            },
                            "nativeSrc": "11242:24:84",
                            "nodeType": "YulFunctionCall",
                            "src": "11242:24:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "11268:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11268:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_array_array_string_dyn",
                          "nativeSrc": "11208:33:84",
                          "nodeType": "YulIdentifier",
                          "src": "11208:33:84"
                        },
                        "nativeSrc": "11208:64:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11208:64:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11184:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11184:6:84"
                    },
                    "nativeSrc": "11184:89:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11184:89:84"
                  },
                  "nativeSrc": "11184:89:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11184:89:84"
                },
                {
                  "nativeSrc": "11282:49:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11282:49:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "11315:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "11315:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11326:3:84",
                            "nodeType": "YulLiteral",
                            "src": "11326:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11311:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11311:3:84"
                        },
                        "nativeSrc": "11311:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11311:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "11298:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "11298:12:84"
                    },
                    "nativeSrc": "11298:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11298:33:84"
                  },
                  "variables": [
                    {
                      "name": "offset_3",
                      "nativeSrc": "11286:8:84",
                      "nodeType": "YulTypedName",
                      "src": "11286:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "11360:16:84",
                    "nodeType": "YulBlock",
                    "src": "11360:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "11369:1:84",
                              "nodeType": "YulLiteral",
                              "src": "11369:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11372:1:84",
                              "nodeType": "YulLiteral",
                              "src": "11372:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "11362:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "11362:6:84"
                          },
                          "nativeSrc": "11362:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11362:12:84"
                        },
                        "nativeSrc": "11362:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "11362:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_3",
                        "nativeSrc": "11346:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "11346:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "11356:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "11356:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "11343:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "11343:2:84"
                    },
                    "nativeSrc": "11343:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11343:16:84"
                  },
                  "nativeSrc": "11340:36:84",
                  "nodeType": "YulIf",
                  "src": "11340:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "11396:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "11396:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11403:3:84",
                            "nodeType": "YulLiteral",
                            "src": "11403:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11392:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11392:3:84"
                        },
                        "nativeSrc": "11392:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11392:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "11430:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "11430:9:84"
                              },
                              {
                                "name": "offset_3",
                                "nativeSrc": "11441:8:84",
                                "nodeType": "YulIdentifier",
                                "src": "11441:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "11426:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "11426:3:84"
                            },
                            "nativeSrc": "11426:24:84",
                            "nodeType": "YulFunctionCall",
                            "src": "11426:24:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "11452:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11452:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_bytes",
                          "nativeSrc": "11409:16:84",
                          "nodeType": "YulIdentifier",
                          "src": "11409:16:84"
                        },
                        "nativeSrc": "11409:47:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11409:47:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11385:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11385:6:84"
                    },
                    "nativeSrc": "11385:72:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11385:72:84"
                  },
                  "nativeSrc": "11385:72:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11385:72:84"
                }
              ]
            },
            "name": "abi_decode_struct_RadonRetrieval",
            "nativeSrc": "10278:1185:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10320:9:84",
                "nodeType": "YulTypedName",
                "src": "10320:9:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "10331:3:84",
                "nodeType": "YulTypedName",
                "src": "10331:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "10339:5:84",
                "nodeType": "YulTypedName",
                "src": "10339:5:84",
                "type": ""
              }
            ],
            "src": "10278:1185:84"
          },
          {
            "body": {
              "nativeSrc": "11531:829:84",
              "nodeType": "YulBlock",
              "src": "11531:829:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "11580:16:84",
                    "nodeType": "YulBlock",
                    "src": "11580:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "11589:1:84",
                              "nodeType": "YulLiteral",
                              "src": "11589:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11592:1:84",
                              "nodeType": "YulLiteral",
                              "src": "11592:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "11582:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "11582:6:84"
                          },
                          "nativeSrc": "11582:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11582:12:84"
                        },
                        "nativeSrc": "11582:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "11582:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "11559:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "11559:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "11567:4:84",
                                "nodeType": "YulLiteral",
                                "src": "11567:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "11555:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "11555:3:84"
                            },
                            "nativeSrc": "11555:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "11555:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "11574:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11574:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "11551:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11551:3:84"
                        },
                        "nativeSrc": "11551:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11551:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "11544:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11544:6:84"
                    },
                    "nativeSrc": "11544:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11544:35:84"
                  },
                  "nativeSrc": "11541:55:84",
                  "nodeType": "YulIf",
                  "src": "11541:55:84"
                },
                {
                  "nativeSrc": "11605:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11605:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "11628:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11628:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "11615:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "11615:12:84"
                    },
                    "nativeSrc": "11615:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11615:20:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "11609:2:84",
                      "nodeType": "YulTypedName",
                      "src": "11609:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11644:14:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11644:14:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "11654:4:84",
                    "nodeType": "YulLiteral",
                    "src": "11654:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "11648:2:84",
                      "nodeType": "YulTypedName",
                      "src": "11648:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11667:76:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11667:76:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "11739:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "11739:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "array_allocation_size_array_array_string_dyn",
                          "nativeSrc": "11694:44:84",
                          "nodeType": "YulIdentifier",
                          "src": "11694:44:84"
                        },
                        "nativeSrc": "11694:48:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11694:48:84"
                      }
                    ],
                    "functionName": {
                      "name": "allocate_memory",
                      "nativeSrc": "11678:15:84",
                      "nodeType": "YulIdentifier",
                      "src": "11678:15:84"
                    },
                    "nativeSrc": "11678:65:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11678:65:84"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "11671:3:84",
                      "nodeType": "YulTypedName",
                      "src": "11671:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11752:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11752:16:84",
                  "value": {
                    "name": "dst",
                    "nativeSrc": "11765:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "11765:3:84"
                  },
                  "variables": [
                    {
                      "name": "dst_1",
                      "nativeSrc": "11756:5:84",
                      "nodeType": "YulTypedName",
                      "src": "11756:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "dst",
                        "nativeSrc": "11784:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "11784:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "11789:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "11789:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11777:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11777:6:84"
                    },
                    "nativeSrc": "11777:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11777:15:84"
                  },
                  "nativeSrc": "11777:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11777:15:84"
                },
                {
                  "nativeSrc": "11801:19:84",
                  "nodeType": "YulAssignment",
                  "src": "11801:19:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "dst",
                        "nativeSrc": "11812:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "11812:3:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "11817:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "11817:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11808:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11808:3:84"
                    },
                    "nativeSrc": "11808:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11808:12:84"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "11801:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11801:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "11829:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11829:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "11851:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "11851:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "11863:1:84",
                                "nodeType": "YulLiteral",
                                "src": "11863:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "11866:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "11866:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "11859:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "11859:3:84"
                            },
                            "nativeSrc": "11859:10:84",
                            "nodeType": "YulFunctionCall",
                            "src": "11859:10:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11847:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11847:3:84"
                        },
                        "nativeSrc": "11847:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11847:23:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "11872:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "11872:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11843:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11843:3:84"
                    },
                    "nativeSrc": "11843:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11843:32:84"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "11833:6:84",
                      "nodeType": "YulTypedName",
                      "src": "11833:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "11903:16:84",
                    "nodeType": "YulBlock",
                    "src": "11903:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "11912:1:84",
                              "nodeType": "YulLiteral",
                              "src": "11912:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11915:1:84",
                              "nodeType": "YulLiteral",
                              "src": "11915:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "11905:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "11905:6:84"
                          },
                          "nativeSrc": "11905:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11905:12:84"
                        },
                        "nativeSrc": "11905:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "11905:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "11890:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11890:6:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "11898:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "11898:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "11887:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "11887:2:84"
                    },
                    "nativeSrc": "11887:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11887:15:84"
                  },
                  "nativeSrc": "11884:35:84",
                  "nodeType": "YulIf",
                  "src": "11884:35:84"
                },
                {
                  "nativeSrc": "11928:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11928:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "11943:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11943:6:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "11951:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "11951:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11939:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11939:3:84"
                    },
                    "nativeSrc": "11939:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11939:15:84"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "11932:3:84",
                      "nodeType": "YulTypedName",
                      "src": "11932:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12019:312:84",
                    "nodeType": "YulBlock",
                    "src": "12019:312:84",
                    "statements": [
                      {
                        "nativeSrc": "12033:36:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "12033:36:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "12065:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "12065:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "calldataload",
                            "nativeSrc": "12052:12:84",
                            "nodeType": "YulIdentifier",
                            "src": "12052:12:84"
                          },
                          "nativeSrc": "12052:17:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12052:17:84"
                        },
                        "variables": [
                          {
                            "name": "innerOffset",
                            "nativeSrc": "12037:11:84",
                            "nodeType": "YulTypedName",
                            "src": "12037:11:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "12133:74:84",
                          "nodeType": "YulBlock",
                          "src": "12133:74:84",
                          "statements": [
                            {
                              "nativeSrc": "12151:11:84",
                              "nodeType": "YulVariableDeclaration",
                              "src": "12151:11:84",
                              "value": {
                                "kind": "number",
                                "nativeSrc": "12161:1:84",
                                "nodeType": "YulLiteral",
                                "src": "12161:1:84",
                                "type": "",
                                "value": "0"
                              },
                              "variables": [
                                {
                                  "name": "_3",
                                  "nativeSrc": "12155:2:84",
                                  "nodeType": "YulTypedName",
                                  "src": "12155:2:84",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "_3",
                                    "nativeSrc": "12186:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "12186:2:84"
                                  },
                                  {
                                    "name": "_3",
                                    "nativeSrc": "12190:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "12190:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "12179:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "12179:6:84"
                                },
                                "nativeSrc": "12179:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "12179:14:84"
                              },
                              "nativeSrc": "12179:14:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "12179:14:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "innerOffset",
                              "nativeSrc": "12088:11:84",
                              "nodeType": "YulIdentifier",
                              "src": "12088:11:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12101:18:84",
                              "nodeType": "YulLiteral",
                              "src": "12101:18:84",
                              "type": "",
                              "value": "0xffffffffffffffff"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "12085:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "12085:2:84"
                          },
                          "nativeSrc": "12085:35:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12085:35:84"
                        },
                        "nativeSrc": "12082:125:84",
                        "nodeType": "YulIf",
                        "src": "12082:125:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "12227:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "12227:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "name": "offset",
                                          "nativeSrc": "12257:6:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "12257:6:84"
                                        },
                                        {
                                          "name": "innerOffset",
                                          "nativeSrc": "12265:11:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "12265:11:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "add",
                                        "nativeSrc": "12253:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "12253:3:84"
                                      },
                                      "nativeSrc": "12253:24:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "12253:24:84"
                                    },
                                    {
                                      "name": "_2",
                                      "nativeSrc": "12279:2:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "12279:2:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "12249:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "12249:3:84"
                                  },
                                  "nativeSrc": "12249:33:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "12249:33:84"
                                },
                                {
                                  "name": "end",
                                  "nativeSrc": "12284:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "12284:3:84"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_bytes",
                                "nativeSrc": "12232:16:84",
                                "nodeType": "YulIdentifier",
                                "src": "12232:16:84"
                              },
                              "nativeSrc": "12232:56:84",
                              "nodeType": "YulFunctionCall",
                              "src": "12232:56:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "12220:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12220:6:84"
                          },
                          "nativeSrc": "12220:69:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12220:69:84"
                        },
                        "nativeSrc": "12220:69:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12220:69:84"
                      },
                      {
                        "nativeSrc": "12302:19:84",
                        "nodeType": "YulAssignment",
                        "src": "12302:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "12313:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "12313:3:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "12318:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "12318:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "12309:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "12309:3:84"
                          },
                          "nativeSrc": "12309:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12309:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "12302:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "12302:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "11974:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "11974:3:84"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "11979:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11979:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "11971:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "11971:2:84"
                    },
                    "nativeSrc": "11971:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11971:15:84"
                  },
                  "nativeSrc": "11963:368:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "11987:23:84",
                    "nodeType": "YulBlock",
                    "src": "11987:23:84",
                    "statements": [
                      {
                        "nativeSrc": "11989:19:84",
                        "nodeType": "YulAssignment",
                        "src": "11989:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "12000:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "12000:3:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "12005:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "12005:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "11996:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11996:3:84"
                          },
                          "nativeSrc": "11996:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11996:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "11989:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11989:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "11967:3:84",
                    "nodeType": "YulBlock",
                    "src": "11967:3:84",
                    "statements": []
                  },
                  "src": "11963:368:84"
                },
                {
                  "nativeSrc": "12340:14:84",
                  "nodeType": "YulAssignment",
                  "src": "12340:14:84",
                  "value": {
                    "name": "dst_1",
                    "nativeSrc": "12349:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "12349:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "12340:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "12340:5:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_array_string_dyn",
            "nativeSrc": "11468:892:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "11505:6:84",
                "nodeType": "YulTypedName",
                "src": "11505:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "11513:3:84",
                "nodeType": "YulTypedName",
                "src": "11513:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "11521:5:84",
                "nodeType": "YulTypedName",
                "src": "11521:5:84",
                "type": ""
              }
            ],
            "src": "11468:892:84"
          },
          {
            "body": {
              "nativeSrc": "12520:461:84",
              "nodeType": "YulBlock",
              "src": "12520:461:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "12566:16:84",
                    "nodeType": "YulBlock",
                    "src": "12566:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12575:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12575:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12578:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12578:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12568:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12568:6:84"
                          },
                          "nativeSrc": "12568:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12568:12:84"
                        },
                        "nativeSrc": "12568:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12568:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "12541:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "12541:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "12550:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12550:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "12537:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12537:3:84"
                        },
                        "nativeSrc": "12537:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12537:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12562:2:84",
                        "nodeType": "YulLiteral",
                        "src": "12562:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "12533:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "12533:3:84"
                    },
                    "nativeSrc": "12533:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12533:32:84"
                  },
                  "nativeSrc": "12530:52:84",
                  "nodeType": "YulIf",
                  "src": "12530:52:84"
                },
                {
                  "nativeSrc": "12591:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12591:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12618:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "12618:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12605:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "12605:12:84"
                    },
                    "nativeSrc": "12605:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12605:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "12595:6:84",
                      "nodeType": "YulTypedName",
                      "src": "12595:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "12637:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12637:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "12647:18:84",
                    "nodeType": "YulLiteral",
                    "src": "12647:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "12641:2:84",
                      "nodeType": "YulTypedName",
                      "src": "12641:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12692:16:84",
                    "nodeType": "YulBlock",
                    "src": "12692:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12701:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12701:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12704:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12704:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12694:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12694:6:84"
                          },
                          "nativeSrc": "12694:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12694:12:84"
                        },
                        "nativeSrc": "12694:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12694:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "12680:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12680:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "12688:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "12688:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "12677:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "12677:2:84"
                    },
                    "nativeSrc": "12677:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12677:14:84"
                  },
                  "nativeSrc": "12674:34:84",
                  "nodeType": "YulIf",
                  "src": "12674:34:84"
                },
                {
                  "nativeSrc": "12717:75:84",
                  "nodeType": "YulAssignment",
                  "src": "12717:75:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12764:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12764:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "12775:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12775:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12760:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12760:3:84"
                        },
                        "nativeSrc": "12760:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12760:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "12784:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "12784:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_RadonRetrieval",
                      "nativeSrc": "12727:32:84",
                      "nodeType": "YulIdentifier",
                      "src": "12727:32:84"
                    },
                    "nativeSrc": "12727:65:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12727:65:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "12717:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12717:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "12801:48:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12801:48:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12834:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12834:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12845:2:84",
                            "nodeType": "YulLiteral",
                            "src": "12845:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12830:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12830:3:84"
                        },
                        "nativeSrc": "12830:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12830:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12817:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "12817:12:84"
                    },
                    "nativeSrc": "12817:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12817:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "12805:8:84",
                      "nodeType": "YulTypedName",
                      "src": "12805:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12878:16:84",
                    "nodeType": "YulBlock",
                    "src": "12878:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12887:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12887:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12890:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12890:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12880:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12880:6:84"
                          },
                          "nativeSrc": "12880:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12880:12:84"
                        },
                        "nativeSrc": "12880:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12880:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "12864:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "12864:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "12874:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "12874:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "12861:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "12861:2:84"
                    },
                    "nativeSrc": "12861:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12861:16:84"
                  },
                  "nativeSrc": "12858:36:84",
                  "nodeType": "YulIf",
                  "src": "12858:36:84"
                },
                {
                  "nativeSrc": "12903:72:84",
                  "nodeType": "YulAssignment",
                  "src": "12903:72:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12945:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12945:9:84"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "12956:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "12956:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12941:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12941:3:84"
                        },
                        "nativeSrc": "12941:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12941:24:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "12967:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "12967:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_string_dyn",
                      "nativeSrc": "12913:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "12913:27:84"
                    },
                    "nativeSrc": "12913:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12913:62:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "12903:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12903:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_RadonRetrieval_$16495_memory_ptrt_array$_t_string_memory_ptr_$dyn_memory_ptr",
            "nativeSrc": "12365:616:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "12478:9:84",
                "nodeType": "YulTypedName",
                "src": "12478:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "12489:7:84",
                "nodeType": "YulTypedName",
                "src": "12489:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "12501:6:84",
                "nodeType": "YulTypedName",
                "src": "12501:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "12509:6:84",
                "nodeType": "YulTypedName",
                "src": "12509:6:84",
                "type": ""
              }
            ],
            "src": "12365:616:84"
          },
          {
            "body": {
              "nativeSrc": "13066:241:84",
              "nodeType": "YulBlock",
              "src": "13066:241:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "13112:16:84",
                    "nodeType": "YulBlock",
                    "src": "13112:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13121:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13121:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13124:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13124:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13114:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13114:6:84"
                          },
                          "nativeSrc": "13114:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "13114:12:84"
                        },
                        "nativeSrc": "13114:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "13114:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "13087:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "13087:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "13096:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "13096:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "13083:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13083:3:84"
                        },
                        "nativeSrc": "13083:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13083:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13108:2:84",
                        "nodeType": "YulLiteral",
                        "src": "13108:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "13079:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13079:3:84"
                    },
                    "nativeSrc": "13079:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13079:32:84"
                  },
                  "nativeSrc": "13076:52:84",
                  "nodeType": "YulIf",
                  "src": "13076:52:84"
                },
                {
                  "nativeSrc": "13137:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13137:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13164:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13164:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "13151:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "13151:12:84"
                    },
                    "nativeSrc": "13151:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13151:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "13141:6:84",
                      "nodeType": "YulTypedName",
                      "src": "13141:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "13217:16:84",
                    "nodeType": "YulBlock",
                    "src": "13217:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13226:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13226:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13229:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13229:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13219:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13219:6:84"
                          },
                          "nativeSrc": "13219:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "13219:12:84"
                        },
                        "nativeSrc": "13219:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "13219:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "13189:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "13189:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13197:18:84",
                        "nodeType": "YulLiteral",
                        "src": "13197:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "13186:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "13186:2:84"
                    },
                    "nativeSrc": "13186:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13186:30:84"
                  },
                  "nativeSrc": "13183:50:84",
                  "nodeType": "YulIf",
                  "src": "13183:50:84"
                },
                {
                  "nativeSrc": "13242:59:84",
                  "nodeType": "YulAssignment",
                  "src": "13242:59:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "13273:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "13273:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "13284:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13284:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13269:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13269:3:84"
                        },
                        "nativeSrc": "13269:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13269:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "13293:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "13293:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes",
                      "nativeSrc": "13252:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "13252:16:84"
                    },
                    "nativeSrc": "13252:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13252:49:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "13242:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13242:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_memory_ptr",
            "nativeSrc": "12986:321:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13032:9:84",
                "nodeType": "YulTypedName",
                "src": "13032:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "13043:7:84",
                "nodeType": "YulTypedName",
                "src": "13043:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "13055:6:84",
                "nodeType": "YulTypedName",
                "src": "13055:6:84",
                "type": ""
              }
            ],
            "src": "12986:321:84"
          },
          {
            "body": {
              "nativeSrc": "13408:292:84",
              "nodeType": "YulBlock",
              "src": "13408:292:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "13454:16:84",
                    "nodeType": "YulBlock",
                    "src": "13454:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13463:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13463:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13466:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13466:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13456:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13456:6:84"
                          },
                          "nativeSrc": "13456:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "13456:12:84"
                        },
                        "nativeSrc": "13456:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "13456:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "13429:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "13429:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "13438:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "13438:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "13425:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13425:3:84"
                        },
                        "nativeSrc": "13425:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13425:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13450:2:84",
                        "nodeType": "YulLiteral",
                        "src": "13450:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "13421:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13421:3:84"
                    },
                    "nativeSrc": "13421:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13421:32:84"
                  },
                  "nativeSrc": "13418:52:84",
                  "nodeType": "YulIf",
                  "src": "13418:52:84"
                },
                {
                  "nativeSrc": "13479:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13479:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13506:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13506:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "13493:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "13493:12:84"
                    },
                    "nativeSrc": "13493:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13493:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "13483:6:84",
                      "nodeType": "YulTypedName",
                      "src": "13483:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "13559:16:84",
                    "nodeType": "YulBlock",
                    "src": "13559:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13568:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13568:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13571:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13571:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13561:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13561:6:84"
                          },
                          "nativeSrc": "13561:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "13561:12:84"
                        },
                        "nativeSrc": "13561:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "13561:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "13531:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "13531:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13539:18:84",
                        "nodeType": "YulLiteral",
                        "src": "13539:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "13528:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "13528:2:84"
                    },
                    "nativeSrc": "13528:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13528:30:84"
                  },
                  "nativeSrc": "13525:50:84",
                  "nodeType": "YulIf",
                  "src": "13525:50:84"
                },
                {
                  "nativeSrc": "13584:59:84",
                  "nodeType": "YulAssignment",
                  "src": "13584:59:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "13615:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "13615:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "13626:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13626:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13611:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13611:3:84"
                        },
                        "nativeSrc": "13611:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13611:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "13635:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "13635:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes",
                      "nativeSrc": "13594:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "13594:16:84"
                    },
                    "nativeSrc": "13594:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13594:49:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "13584:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13584:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "13652:42:84",
                  "nodeType": "YulAssignment",
                  "src": "13652:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "13679:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "13679:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "13690:2:84",
                            "nodeType": "YulLiteral",
                            "src": "13690:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13675:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13675:3:84"
                        },
                        "nativeSrc": "13675:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13675:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "13662:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "13662:12:84"
                    },
                    "nativeSrc": "13662:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13662:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "13652:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13652:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_memory_ptrt_uint256",
            "nativeSrc": "13312:388:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13366:9:84",
                "nodeType": "YulTypedName",
                "src": "13366:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "13377:7:84",
                "nodeType": "YulTypedName",
                "src": "13377:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "13389:6:84",
                "nodeType": "YulTypedName",
                "src": "13389:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "13397:6:84",
                "nodeType": "YulTypedName",
                "src": "13397:6:84",
                "type": ""
              }
            ],
            "src": "13312:388:84"
          },
          {
            "body": {
              "nativeSrc": "13805:254:84",
              "nodeType": "YulBlock",
              "src": "13805:254:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "13851:16:84",
                    "nodeType": "YulBlock",
                    "src": "13851:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13860:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13860:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13863:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13863:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13853:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13853:6:84"
                          },
                          "nativeSrc": "13853:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "13853:12:84"
                        },
                        "nativeSrc": "13853:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "13853:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "13826:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "13826:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "13835:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "13835:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "13822:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13822:3:84"
                        },
                        "nativeSrc": "13822:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13822:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13847:2:84",
                        "nodeType": "YulLiteral",
                        "src": "13847:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "13818:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13818:3:84"
                    },
                    "nativeSrc": "13818:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13818:32:84"
                  },
                  "nativeSrc": "13815:52:84",
                  "nodeType": "YulIf",
                  "src": "13815:52:84"
                },
                {
                  "nativeSrc": "13876:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13876:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13903:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13903:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "13890:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "13890:12:84"
                    },
                    "nativeSrc": "13890:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13890:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "13880:6:84",
                      "nodeType": "YulTypedName",
                      "src": "13880:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "13956:16:84",
                    "nodeType": "YulBlock",
                    "src": "13956:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13965:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13965:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13968:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13968:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13958:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13958:6:84"
                          },
                          "nativeSrc": "13958:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "13958:12:84"
                        },
                        "nativeSrc": "13958:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "13958:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "13928:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "13928:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13936:18:84",
                        "nodeType": "YulLiteral",
                        "src": "13936:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "13925:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "13925:2:84"
                    },
                    "nativeSrc": "13925:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13925:30:84"
                  },
                  "nativeSrc": "13922:50:84",
                  "nodeType": "YulIf",
                  "src": "13922:50:84"
                },
                {
                  "nativeSrc": "13981:72:84",
                  "nodeType": "YulAssignment",
                  "src": "13981:72:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14025:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14025:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "14036:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14036:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14021:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14021:3:84"
                        },
                        "nativeSrc": "14021:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14021:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "14045:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "14045:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_RadonFilter",
                      "nativeSrc": "13991:29:84",
                      "nodeType": "YulIdentifier",
                      "src": "13991:29:84"
                    },
                    "nativeSrc": "13991:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13991:62:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "13981:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13981:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_RadonFilter_$16439_memory_ptr",
            "nativeSrc": "13705:354:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13771:9:84",
                "nodeType": "YulTypedName",
                "src": "13771:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "13782:7:84",
                "nodeType": "YulTypedName",
                "src": "13782:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "13794:6:84",
                "nodeType": "YulTypedName",
                "src": "13794:6:84",
                "type": ""
              }
            ],
            "src": "13705:354:84"
          },
          {
            "body": {
              "nativeSrc": "14149:266:84",
              "nodeType": "YulBlock",
              "src": "14149:266:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "14195:16:84",
                    "nodeType": "YulBlock",
                    "src": "14195:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14204:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14204:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14207:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14207:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14197:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14197:6:84"
                          },
                          "nativeSrc": "14197:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14197:12:84"
                        },
                        "nativeSrc": "14197:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14197:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "14170:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "14170:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "14179:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14179:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "14166:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14166:3:84"
                        },
                        "nativeSrc": "14166:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14166:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14191:2:84",
                        "nodeType": "YulLiteral",
                        "src": "14191:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "14162:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14162:3:84"
                    },
                    "nativeSrc": "14162:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14162:32:84"
                  },
                  "nativeSrc": "14159:52:84",
                  "nodeType": "YulIf",
                  "src": "14159:52:84"
                },
                {
                  "nativeSrc": "14220:38:84",
                  "nodeType": "YulAssignment",
                  "src": "14220:38:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "14248:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "14248:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint64",
                      "nativeSrc": "14230:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "14230:17:84"
                    },
                    "nativeSrc": "14230:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14230:28:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "14220:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14220:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "14267:45:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14267:45:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14297:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14297:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14308:2:84",
                            "nodeType": "YulLiteral",
                            "src": "14308:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14293:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14293:3:84"
                        },
                        "nativeSrc": "14293:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14293:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14280:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "14280:12:84"
                    },
                    "nativeSrc": "14280:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14280:32:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "14271:5:84",
                      "nodeType": "YulTypedName",
                      "src": "14271:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14369:16:84",
                    "nodeType": "YulBlock",
                    "src": "14369:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14378:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14378:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14381:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14381:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14371:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14371:6:84"
                          },
                          "nativeSrc": "14371:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14371:12:84"
                        },
                        "nativeSrc": "14371:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14371:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "14334:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "14334:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "14345:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "14345:5:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "14356:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "14356:3:84",
                                    "type": "",
                                    "value": "248"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "14361:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "14361:3:84",
                                    "type": "",
                                    "value": "255"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "14352:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "14352:3:84"
                                },
                                "nativeSrc": "14352:13:84",
                                "nodeType": "YulFunctionCall",
                                "src": "14352:13:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "14341:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "14341:3:84"
                            },
                            "nativeSrc": "14341:25:84",
                            "nodeType": "YulFunctionCall",
                            "src": "14341:25:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "14331:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "14331:2:84"
                        },
                        "nativeSrc": "14331:36:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14331:36:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "14324:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14324:6:84"
                    },
                    "nativeSrc": "14324:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14324:44:84"
                  },
                  "nativeSrc": "14321:64:84",
                  "nodeType": "YulIf",
                  "src": "14321:64:84"
                },
                {
                  "nativeSrc": "14394:15:84",
                  "nodeType": "YulAssignment",
                  "src": "14394:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "14404:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "14404:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "14394:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14394:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint64t_bytes1",
            "nativeSrc": "14064:351:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "14107:9:84",
                "nodeType": "YulTypedName",
                "src": "14107:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "14118:7:84",
                "nodeType": "YulTypedName",
                "src": "14118:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "14130:6:84",
                "nodeType": "YulTypedName",
                "src": "14130:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "14138:6:84",
                "nodeType": "YulTypedName",
                "src": "14138:6:84",
                "type": ""
              }
            ],
            "src": "14064:351:84"
          },
          {
            "body": {
              "nativeSrc": "14493:840:84",
              "nodeType": "YulBlock",
              "src": "14493:840:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "14542:16:84",
                    "nodeType": "YulBlock",
                    "src": "14542:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14551:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14551:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14554:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14554:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14544:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14544:6:84"
                          },
                          "nativeSrc": "14544:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14544:12:84"
                        },
                        "nativeSrc": "14544:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14544:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "14521:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "14521:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "14529:4:84",
                                "nodeType": "YulLiteral",
                                "src": "14529:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "14517:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "14517:3:84"
                            },
                            "nativeSrc": "14517:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "14517:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "14536:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "14536:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "14513:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14513:3:84"
                        },
                        "nativeSrc": "14513:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14513:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "14506:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14506:6:84"
                    },
                    "nativeSrc": "14506:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14506:35:84"
                  },
                  "nativeSrc": "14503:55:84",
                  "nodeType": "YulIf",
                  "src": "14503:55:84"
                },
                {
                  "nativeSrc": "14567:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14567:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "14590:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "14590:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14577:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "14577:12:84"
                    },
                    "nativeSrc": "14577:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14577:20:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "14571:2:84",
                      "nodeType": "YulTypedName",
                      "src": "14571:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14606:14:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14606:14:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "14616:4:84",
                    "nodeType": "YulLiteral",
                    "src": "14616:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "14610:2:84",
                      "nodeType": "YulTypedName",
                      "src": "14610:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14629:76:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14629:76:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "14701:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "14701:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "array_allocation_size_array_array_string_dyn",
                          "nativeSrc": "14656:44:84",
                          "nodeType": "YulIdentifier",
                          "src": "14656:44:84"
                        },
                        "nativeSrc": "14656:48:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14656:48:84"
                      }
                    ],
                    "functionName": {
                      "name": "allocate_memory",
                      "nativeSrc": "14640:15:84",
                      "nodeType": "YulIdentifier",
                      "src": "14640:15:84"
                    },
                    "nativeSrc": "14640:65:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14640:65:84"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "14633:3:84",
                      "nodeType": "YulTypedName",
                      "src": "14633:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14714:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14714:16:84",
                  "value": {
                    "name": "dst",
                    "nativeSrc": "14727:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "14727:3:84"
                  },
                  "variables": [
                    {
                      "name": "dst_1",
                      "nativeSrc": "14718:5:84",
                      "nodeType": "YulTypedName",
                      "src": "14718:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "dst",
                        "nativeSrc": "14746:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "14746:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "14751:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "14751:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "14739:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14739:6:84"
                    },
                    "nativeSrc": "14739:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14739:15:84"
                  },
                  "nativeSrc": "14739:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "14739:15:84"
                },
                {
                  "nativeSrc": "14763:19:84",
                  "nodeType": "YulAssignment",
                  "src": "14763:19:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "dst",
                        "nativeSrc": "14774:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "14774:3:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "14779:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "14779:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "14770:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14770:3:84"
                    },
                    "nativeSrc": "14770:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14770:12:84"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "14763:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14763:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "14791:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14791:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "14813:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14813:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "14825:1:84",
                                "nodeType": "YulLiteral",
                                "src": "14825:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "14828:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "14828:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "14821:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "14821:3:84"
                            },
                            "nativeSrc": "14821:10:84",
                            "nodeType": "YulFunctionCall",
                            "src": "14821:10:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14809:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14809:3:84"
                        },
                        "nativeSrc": "14809:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14809:23:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "14834:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "14834:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "14805:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14805:3:84"
                    },
                    "nativeSrc": "14805:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14805:32:84"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "14795:6:84",
                      "nodeType": "YulTypedName",
                      "src": "14795:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14865:16:84",
                    "nodeType": "YulBlock",
                    "src": "14865:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14874:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14874:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14877:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14877:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14867:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14867:6:84"
                          },
                          "nativeSrc": "14867:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14867:12:84"
                        },
                        "nativeSrc": "14867:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14867:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "14852:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "14852:6:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "14860:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "14860:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "14849:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "14849:2:84"
                    },
                    "nativeSrc": "14849:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14849:15:84"
                  },
                  "nativeSrc": "14846:35:84",
                  "nodeType": "YulIf",
                  "src": "14846:35:84"
                },
                {
                  "nativeSrc": "14890:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14890:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "14905:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "14905:6:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "14913:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "14913:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "14901:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14901:3:84"
                    },
                    "nativeSrc": "14901:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14901:15:84"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "14894:3:84",
                      "nodeType": "YulTypedName",
                      "src": "14894:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14981:323:84",
                    "nodeType": "YulBlock",
                    "src": "14981:323:84",
                    "statements": [
                      {
                        "nativeSrc": "14995:36:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "14995:36:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "15027:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "15027:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "calldataload",
                            "nativeSrc": "15014:12:84",
                            "nodeType": "YulIdentifier",
                            "src": "15014:12:84"
                          },
                          "nativeSrc": "15014:17:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15014:17:84"
                        },
                        "variables": [
                          {
                            "name": "innerOffset",
                            "nativeSrc": "14999:11:84",
                            "nodeType": "YulTypedName",
                            "src": "14999:11:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "15095:74:84",
                          "nodeType": "YulBlock",
                          "src": "15095:74:84",
                          "statements": [
                            {
                              "nativeSrc": "15113:11:84",
                              "nodeType": "YulVariableDeclaration",
                              "src": "15113:11:84",
                              "value": {
                                "kind": "number",
                                "nativeSrc": "15123:1:84",
                                "nodeType": "YulLiteral",
                                "src": "15123:1:84",
                                "type": "",
                                "value": "0"
                              },
                              "variables": [
                                {
                                  "name": "_3",
                                  "nativeSrc": "15117:2:84",
                                  "nodeType": "YulTypedName",
                                  "src": "15117:2:84",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "_3",
                                    "nativeSrc": "15148:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "15148:2:84"
                                  },
                                  {
                                    "name": "_3",
                                    "nativeSrc": "15152:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "15152:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "15141:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "15141:6:84"
                                },
                                "nativeSrc": "15141:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "15141:14:84"
                              },
                              "nativeSrc": "15141:14:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "15141:14:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "innerOffset",
                              "nativeSrc": "15050:11:84",
                              "nodeType": "YulIdentifier",
                              "src": "15050:11:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15063:18:84",
                              "nodeType": "YulLiteral",
                              "src": "15063:18:84",
                              "type": "",
                              "value": "0xffffffffffffffff"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "15047:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "15047:2:84"
                          },
                          "nativeSrc": "15047:35:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15047:35:84"
                        },
                        "nativeSrc": "15044:125:84",
                        "nodeType": "YulIf",
                        "src": "15044:125:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "15189:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "15189:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "name": "offset",
                                          "nativeSrc": "15230:6:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "15230:6:84"
                                        },
                                        {
                                          "name": "innerOffset",
                                          "nativeSrc": "15238:11:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "15238:11:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "add",
                                        "nativeSrc": "15226:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "15226:3:84"
                                      },
                                      "nativeSrc": "15226:24:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "15226:24:84"
                                    },
                                    {
                                      "name": "_2",
                                      "nativeSrc": "15252:2:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "15252:2:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "15222:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "15222:3:84"
                                  },
                                  "nativeSrc": "15222:33:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "15222:33:84"
                                },
                                {
                                  "name": "end",
                                  "nativeSrc": "15257:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "15257:3:84"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_array_string_dyn",
                                "nativeSrc": "15194:27:84",
                                "nodeType": "YulIdentifier",
                                "src": "15194:27:84"
                              },
                              "nativeSrc": "15194:67:84",
                              "nodeType": "YulFunctionCall",
                              "src": "15194:67:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "15182:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15182:6:84"
                          },
                          "nativeSrc": "15182:80:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15182:80:84"
                        },
                        "nativeSrc": "15182:80:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "15182:80:84"
                      },
                      {
                        "nativeSrc": "15275:19:84",
                        "nodeType": "YulAssignment",
                        "src": "15275:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "15286:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "15286:3:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "15291:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "15291:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "15282:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "15282:3:84"
                          },
                          "nativeSrc": "15282:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15282:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "15275:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "15275:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "14936:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "14936:3:84"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "14941:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "14941:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "14933:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "14933:2:84"
                    },
                    "nativeSrc": "14933:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14933:15:84"
                  },
                  "nativeSrc": "14925:379:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "14949:23:84",
                    "nodeType": "YulBlock",
                    "src": "14949:23:84",
                    "statements": [
                      {
                        "nativeSrc": "14951:19:84",
                        "nodeType": "YulAssignment",
                        "src": "14951:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "14962:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "14962:3:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "14967:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "14967:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "14958:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "14958:3:84"
                          },
                          "nativeSrc": "14958:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14958:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "14951:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "14951:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "14929:3:84",
                    "nodeType": "YulBlock",
                    "src": "14929:3:84",
                    "statements": []
                  },
                  "src": "14925:379:84"
                },
                {
                  "nativeSrc": "15313:14:84",
                  "nodeType": "YulAssignment",
                  "src": "15313:14:84",
                  "value": {
                    "name": "dst_1",
                    "nativeSrc": "15322:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "15322:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "15313:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "15313:5:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_array_array_string_dyn_dyn",
            "nativeSrc": "14420:913:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "14467:6:84",
                "nodeType": "YulTypedName",
                "src": "14467:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "14475:3:84",
                "nodeType": "YulTypedName",
                "src": "14475:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "14483:5:84",
                "nodeType": "YulTypedName",
                "src": "14483:5:84",
                "type": ""
              }
            ],
            "src": "14420:913:84"
          },
          {
            "body": {
              "nativeSrc": "15611:1645:84",
              "nodeType": "YulBlock",
              "src": "15611:1645:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "15658:16:84",
                    "nodeType": "YulBlock",
                    "src": "15658:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15667:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15667:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15670:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15670:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15660:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15660:6:84"
                          },
                          "nativeSrc": "15660:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15660:12:84"
                        },
                        "nativeSrc": "15660:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "15660:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "15632:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "15632:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "15641:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15641:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "15628:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15628:3:84"
                        },
                        "nativeSrc": "15628:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15628:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15653:3:84",
                        "nodeType": "YulLiteral",
                        "src": "15653:3:84",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "15624:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "15624:3:84"
                    },
                    "nativeSrc": "15624:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15624:33:84"
                  },
                  "nativeSrc": "15621:53:84",
                  "nodeType": "YulIf",
                  "src": "15621:53:84"
                },
                {
                  "nativeSrc": "15683:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15683:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15710:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "15710:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15697:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "15697:12:84"
                    },
                    "nativeSrc": "15697:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15697:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "15687:6:84",
                      "nodeType": "YulTypedName",
                      "src": "15687:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "15729:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15729:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "15739:18:84",
                    "nodeType": "YulLiteral",
                    "src": "15739:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "15733:2:84",
                      "nodeType": "YulTypedName",
                      "src": "15733:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "15784:16:84",
                    "nodeType": "YulBlock",
                    "src": "15784:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15793:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15793:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15796:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15796:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15786:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15786:6:84"
                          },
                          "nativeSrc": "15786:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15786:12:84"
                        },
                        "nativeSrc": "15786:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "15786:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "15772:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "15772:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "15780:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "15780:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "15769:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "15769:2:84"
                    },
                    "nativeSrc": "15769:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15769:14:84"
                  },
                  "nativeSrc": "15766:34:84",
                  "nodeType": "YulIf",
                  "src": "15766:34:84"
                },
                {
                  "nativeSrc": "15809:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15809:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15823:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "15823:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "15834:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "15834:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "15819:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "15819:3:84"
                    },
                    "nativeSrc": "15819:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15819:22:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "15813:2:84",
                      "nodeType": "YulTypedName",
                      "src": "15813:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "15889:16:84",
                    "nodeType": "YulBlock",
                    "src": "15889:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15898:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15898:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15901:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15901:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15891:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15891:6:84"
                          },
                          "nativeSrc": "15891:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15891:12:84"
                        },
                        "nativeSrc": "15891:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "15891:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "15868:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "15868:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "15872:4:84",
                                "nodeType": "YulLiteral",
                                "src": "15872:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "15864:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "15864:3:84"
                            },
                            "nativeSrc": "15864:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "15864:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "15879:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "15879:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "15860:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15860:3:84"
                        },
                        "nativeSrc": "15860:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15860:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "15853:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15853:6:84"
                    },
                    "nativeSrc": "15853:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15853:35:84"
                  },
                  "nativeSrc": "15850:55:84",
                  "nodeType": "YulIf",
                  "src": "15850:55:84"
                },
                {
                  "nativeSrc": "15914:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15914:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "15937:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "15937:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15924:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "15924:12:84"
                    },
                    "nativeSrc": "15924:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15924:16:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "15918:2:84",
                      "nodeType": "YulTypedName",
                      "src": "15918:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "15949:14:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15949:14:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "15959:4:84",
                    "nodeType": "YulLiteral",
                    "src": "15959:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variables": [
                    {
                      "name": "_4",
                      "nativeSrc": "15953:2:84",
                      "nodeType": "YulTypedName",
                      "src": "15953:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "15972:76:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15972:76:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_3",
                            "nativeSrc": "16044:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "16044:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "array_allocation_size_array_array_string_dyn",
                          "nativeSrc": "15999:44:84",
                          "nodeType": "YulIdentifier",
                          "src": "15999:44:84"
                        },
                        "nativeSrc": "15999:48:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15999:48:84"
                      }
                    ],
                    "functionName": {
                      "name": "allocate_memory",
                      "nativeSrc": "15983:15:84",
                      "nodeType": "YulIdentifier",
                      "src": "15983:15:84"
                    },
                    "nativeSrc": "15983:65:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15983:65:84"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "15976:3:84",
                      "nodeType": "YulTypedName",
                      "src": "15976:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "16057:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16057:16:84",
                  "value": {
                    "name": "dst",
                    "nativeSrc": "16070:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "16070:3:84"
                  },
                  "variables": [
                    {
                      "name": "dst_1",
                      "nativeSrc": "16061:5:84",
                      "nodeType": "YulTypedName",
                      "src": "16061:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "dst",
                        "nativeSrc": "16089:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "16089:3:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "16094:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "16094:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16082:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16082:6:84"
                    },
                    "nativeSrc": "16082:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16082:15:84"
                  },
                  "nativeSrc": "16082:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16082:15:84"
                },
                {
                  "nativeSrc": "16106:19:84",
                  "nodeType": "YulAssignment",
                  "src": "16106:19:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "dst",
                        "nativeSrc": "16117:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "16117:3:84"
                      },
                      {
                        "name": "_4",
                        "nativeSrc": "16122:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "16122:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "16113:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "16113:3:84"
                    },
                    "nativeSrc": "16113:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16113:12:84"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "16106:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "16106:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "16134:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16134:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "16156:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "16156:2:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "16164:1:84",
                                "nodeType": "YulLiteral",
                                "src": "16164:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "_3",
                                "nativeSrc": "16167:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "16167:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "16160:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "16160:3:84"
                            },
                            "nativeSrc": "16160:10:84",
                            "nodeType": "YulFunctionCall",
                            "src": "16160:10:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16152:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16152:3:84"
                        },
                        "nativeSrc": "16152:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16152:19:84"
                      },
                      {
                        "name": "_4",
                        "nativeSrc": "16173:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "16173:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "16148:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "16148:3:84"
                    },
                    "nativeSrc": "16148:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16148:28:84"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "16138:6:84",
                      "nodeType": "YulTypedName",
                      "src": "16138:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "16208:16:84",
                    "nodeType": "YulBlock",
                    "src": "16208:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16217:1:84",
                              "nodeType": "YulLiteral",
                              "src": "16217:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16220:1:84",
                              "nodeType": "YulLiteral",
                              "src": "16220:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16210:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "16210:6:84"
                          },
                          "nativeSrc": "16210:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "16210:12:84"
                        },
                        "nativeSrc": "16210:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "16210:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "16191:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "16191:6:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "16199:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "16199:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "16188:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "16188:2:84"
                    },
                    "nativeSrc": "16188:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16188:19:84"
                  },
                  "nativeSrc": "16185:39:84",
                  "nodeType": "YulIf",
                  "src": "16185:39:84"
                },
                {
                  "nativeSrc": "16233:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16233:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "16248:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "16248:2:84"
                      },
                      {
                        "name": "_4",
                        "nativeSrc": "16252:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "16252:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "16244:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "16244:3:84"
                    },
                    "nativeSrc": "16244:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16244:11:84"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "16237:3:84",
                      "nodeType": "YulTypedName",
                      "src": "16237:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "16320:312:84",
                    "nodeType": "YulBlock",
                    "src": "16320:312:84",
                    "statements": [
                      {
                        "nativeSrc": "16334:36:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "16334:36:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "16366:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "16366:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "calldataload",
                            "nativeSrc": "16353:12:84",
                            "nodeType": "YulIdentifier",
                            "src": "16353:12:84"
                          },
                          "nativeSrc": "16353:17:84",
                          "nodeType": "YulFunctionCall",
                          "src": "16353:17:84"
                        },
                        "variables": [
                          {
                            "name": "innerOffset",
                            "nativeSrc": "16338:11:84",
                            "nodeType": "YulTypedName",
                            "src": "16338:11:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "16418:74:84",
                          "nodeType": "YulBlock",
                          "src": "16418:74:84",
                          "statements": [
                            {
                              "nativeSrc": "16436:11:84",
                              "nodeType": "YulVariableDeclaration",
                              "src": "16436:11:84",
                              "value": {
                                "kind": "number",
                                "nativeSrc": "16446:1:84",
                                "nodeType": "YulLiteral",
                                "src": "16446:1:84",
                                "type": "",
                                "value": "0"
                              },
                              "variables": [
                                {
                                  "name": "_5",
                                  "nativeSrc": "16440:2:84",
                                  "nodeType": "YulTypedName",
                                  "src": "16440:2:84",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "_5",
                                    "nativeSrc": "16471:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "16471:2:84"
                                  },
                                  {
                                    "name": "_5",
                                    "nativeSrc": "16475:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "16475:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "16464:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "16464:6:84"
                                },
                                "nativeSrc": "16464:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "16464:14:84"
                              },
                              "nativeSrc": "16464:14:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "16464:14:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "innerOffset",
                              "nativeSrc": "16389:11:84",
                              "nodeType": "YulIdentifier",
                              "src": "16389:11:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "16402:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "16402:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "16386:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "16386:2:84"
                          },
                          "nativeSrc": "16386:19:84",
                          "nodeType": "YulFunctionCall",
                          "src": "16386:19:84"
                        },
                        "nativeSrc": "16383:109:84",
                        "nodeType": "YulIf",
                        "src": "16383:109:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "16512:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "16512:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "name": "_2",
                                          "nativeSrc": "16558:2:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "16558:2:84"
                                        },
                                        {
                                          "name": "innerOffset",
                                          "nativeSrc": "16562:11:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "16562:11:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "add",
                                        "nativeSrc": "16554:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "16554:3:84"
                                      },
                                      "nativeSrc": "16554:20:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "16554:20:84"
                                    },
                                    {
                                      "name": "_4",
                                      "nativeSrc": "16576:2:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "16576:2:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "16550:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "16550:3:84"
                                  },
                                  "nativeSrc": "16550:29:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "16550:29:84"
                                },
                                {
                                  "name": "dataEnd",
                                  "nativeSrc": "16581:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "16581:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_struct_RadonRetrieval",
                                "nativeSrc": "16517:32:84",
                                "nodeType": "YulIdentifier",
                                "src": "16517:32:84"
                              },
                              "nativeSrc": "16517:72:84",
                              "nodeType": "YulFunctionCall",
                              "src": "16517:72:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "16505:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "16505:6:84"
                          },
                          "nativeSrc": "16505:85:84",
                          "nodeType": "YulFunctionCall",
                          "src": "16505:85:84"
                        },
                        "nativeSrc": "16505:85:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "16505:85:84"
                      },
                      {
                        "nativeSrc": "16603:19:84",
                        "nodeType": "YulAssignment",
                        "src": "16603:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "16614:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "16614:3:84"
                            },
                            {
                              "name": "_4",
                              "nativeSrc": "16619:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "16619:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "16610:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "16610:3:84"
                          },
                          "nativeSrc": "16610:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "16610:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "16603:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "16603:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "16275:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "16275:3:84"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "16280:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "16280:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "16272:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "16272:2:84"
                    },
                    "nativeSrc": "16272:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16272:15:84"
                  },
                  "nativeSrc": "16264:368:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "16288:23:84",
                    "nodeType": "YulBlock",
                    "src": "16288:23:84",
                    "statements": [
                      {
                        "nativeSrc": "16290:19:84",
                        "nodeType": "YulAssignment",
                        "src": "16290:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "16301:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "16301:3:84"
                            },
                            {
                              "name": "_4",
                              "nativeSrc": "16306:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "16306:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "16297:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "16297:3:84"
                          },
                          "nativeSrc": "16297:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "16297:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "16290:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "16290:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "16268:3:84",
                    "nodeType": "YulBlock",
                    "src": "16268:3:84",
                    "statements": []
                  },
                  "src": "16264:368:84"
                },
                {
                  "nativeSrc": "16641:15:84",
                  "nodeType": "YulAssignment",
                  "src": "16641:15:84",
                  "value": {
                    "name": "dst_1",
                    "nativeSrc": "16651:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "16651:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "16641:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16641:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "16665:48:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16665:48:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16698:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16698:9:84"
                          },
                          {
                            "name": "_4",
                            "nativeSrc": "16709:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "16709:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16694:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16694:3:84"
                        },
                        "nativeSrc": "16694:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16694:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "16681:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "16681:12:84"
                    },
                    "nativeSrc": "16681:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16681:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "16669:8:84",
                      "nodeType": "YulTypedName",
                      "src": "16669:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "16742:16:84",
                    "nodeType": "YulBlock",
                    "src": "16742:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16751:1:84",
                              "nodeType": "YulLiteral",
                              "src": "16751:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16754:1:84",
                              "nodeType": "YulLiteral",
                              "src": "16754:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16744:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "16744:6:84"
                          },
                          "nativeSrc": "16744:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "16744:12:84"
                        },
                        "nativeSrc": "16744:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "16744:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "16728:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "16728:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "16738:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "16738:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "16725:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "16725:2:84"
                    },
                    "nativeSrc": "16725:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16725:16:84"
                  },
                  "nativeSrc": "16722:36:84",
                  "nodeType": "YulIf",
                  "src": "16722:36:84"
                },
                {
                  "nativeSrc": "16767:82:84",
                  "nodeType": "YulAssignment",
                  "src": "16767:82:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16819:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16819:9:84"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "16830:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "16830:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16815:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16815:3:84"
                        },
                        "nativeSrc": "16815:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16815:24:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "16841:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "16841:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_array_string_dyn_dyn",
                      "nativeSrc": "16777:37:84",
                      "nodeType": "YulIdentifier",
                      "src": "16777:37:84"
                    },
                    "nativeSrc": "16777:72:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16777:72:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "16767:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16767:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "16858:48:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16858:48:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16891:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16891:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16902:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16902:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16887:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16887:3:84"
                        },
                        "nativeSrc": "16887:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16887:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "16874:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "16874:12:84"
                    },
                    "nativeSrc": "16874:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16874:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset_2",
                      "nativeSrc": "16862:8:84",
                      "nodeType": "YulTypedName",
                      "src": "16862:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "16935:16:84",
                    "nodeType": "YulBlock",
                    "src": "16935:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16944:1:84",
                              "nodeType": "YulLiteral",
                              "src": "16944:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16947:1:84",
                              "nodeType": "YulLiteral",
                              "src": "16947:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16937:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "16937:6:84"
                          },
                          "nativeSrc": "16937:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "16937:12:84"
                        },
                        "nativeSrc": "16937:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "16937:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_2",
                        "nativeSrc": "16921:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "16921:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "16931:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "16931:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "16918:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "16918:2:84"
                    },
                    "nativeSrc": "16918:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16918:16:84"
                  },
                  "nativeSrc": "16915:36:84",
                  "nodeType": "YulIf",
                  "src": "16915:36:84"
                },
                {
                  "nativeSrc": "16960:61:84",
                  "nodeType": "YulAssignment",
                  "src": "16960:61:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16991:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16991:9:84"
                          },
                          {
                            "name": "offset_2",
                            "nativeSrc": "17002:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "17002:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16987:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16987:3:84"
                        },
                        "nativeSrc": "16987:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16987:24:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "17013:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "17013:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes",
                      "nativeSrc": "16970:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "16970:16:84"
                    },
                    "nativeSrc": "16970:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16970:51:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "16960:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16960:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "17030:48:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17030:48:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17063:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17063:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17074:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17074:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17059:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17059:3:84"
                        },
                        "nativeSrc": "17059:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17059:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17046:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "17046:12:84"
                    },
                    "nativeSrc": "17046:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17046:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset_3",
                      "nativeSrc": "17034:8:84",
                      "nodeType": "YulTypedName",
                      "src": "17034:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17107:16:84",
                    "nodeType": "YulBlock",
                    "src": "17107:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17116:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17116:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17119:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17119:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17109:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17109:6:84"
                          },
                          "nativeSrc": "17109:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "17109:12:84"
                        },
                        "nativeSrc": "17109:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "17109:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_3",
                        "nativeSrc": "17093:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "17093:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "17103:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "17103:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "17090:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "17090:2:84"
                    },
                    "nativeSrc": "17090:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17090:16:84"
                  },
                  "nativeSrc": "17087:36:84",
                  "nodeType": "YulIf",
                  "src": "17087:36:84"
                },
                {
                  "nativeSrc": "17132:61:84",
                  "nodeType": "YulAssignment",
                  "src": "17132:61:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17163:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17163:9:84"
                          },
                          {
                            "name": "offset_3",
                            "nativeSrc": "17174:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "17174:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17159:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17159:3:84"
                        },
                        "nativeSrc": "17159:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17159:24:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "17185:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "17185:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes",
                      "nativeSrc": "17142:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "17142:16:84"
                    },
                    "nativeSrc": "17142:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17142:51:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "17132:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17132:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "17202:48:84",
                  "nodeType": "YulAssignment",
                  "src": "17202:48:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17234:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17234:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17245:3:84",
                            "nodeType": "YulLiteral",
                            "src": "17245:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17230:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17230:3:84"
                        },
                        "nativeSrc": "17230:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17230:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint16",
                      "nativeSrc": "17212:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "17212:17:84"
                    },
                    "nativeSrc": "17212:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17212:38:84"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "17202:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17202:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_struct$_RadonRetrieval_$16495_memory_ptr_$dyn_memory_ptrt_array$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$dyn_memory_ptrt_bytes_memory_ptrt_bytes_memory_ptrt_uint16",
            "nativeSrc": "15338:1918:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15545:9:84",
                "nodeType": "YulTypedName",
                "src": "15545:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "15556:7:84",
                "nodeType": "YulTypedName",
                "src": "15556:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "15568:6:84",
                "nodeType": "YulTypedName",
                "src": "15568:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "15576:6:84",
                "nodeType": "YulTypedName",
                "src": "15576:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "15584:6:84",
                "nodeType": "YulTypedName",
                "src": "15584:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "15592:6:84",
                "nodeType": "YulTypedName",
                "src": "15592:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "15600:6:84",
                "nodeType": "YulTypedName",
                "src": "15600:6:84",
                "type": ""
              }
            ],
            "src": "15338:1918:84"
          },
          {
            "body": {
              "nativeSrc": "17392:445:84",
              "nodeType": "YulBlock",
              "src": "17392:445:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "17438:16:84",
                    "nodeType": "YulBlock",
                    "src": "17438:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17447:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17447:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17450:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17450:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17440:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17440:6:84"
                          },
                          "nativeSrc": "17440:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "17440:12:84"
                        },
                        "nativeSrc": "17440:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "17440:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "17413:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "17413:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "17422:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17422:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "17409:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17409:3:84"
                        },
                        "nativeSrc": "17409:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17409:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17434:2:84",
                        "nodeType": "YulLiteral",
                        "src": "17434:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "17405:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "17405:3:84"
                    },
                    "nativeSrc": "17405:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17405:32:84"
                  },
                  "nativeSrc": "17402:52:84",
                  "nodeType": "YulIf",
                  "src": "17402:52:84"
                },
                {
                  "nativeSrc": "17463:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17463:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17490:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "17490:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17477:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "17477:12:84"
                    },
                    "nativeSrc": "17477:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17477:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "17467:6:84",
                      "nodeType": "YulTypedName",
                      "src": "17467:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "17509:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17509:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "17519:18:84",
                    "nodeType": "YulLiteral",
                    "src": "17519:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "17513:2:84",
                      "nodeType": "YulTypedName",
                      "src": "17513:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17564:16:84",
                    "nodeType": "YulBlock",
                    "src": "17564:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17573:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17573:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17576:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17576:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17566:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17566:6:84"
                          },
                          "nativeSrc": "17566:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "17566:12:84"
                        },
                        "nativeSrc": "17566:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "17566:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "17552:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "17552:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "17560:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "17560:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "17549:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "17549:2:84"
                    },
                    "nativeSrc": "17549:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17549:14:84"
                  },
                  "nativeSrc": "17546:34:84",
                  "nodeType": "YulIf",
                  "src": "17546:34:84"
                },
                {
                  "nativeSrc": "17589:59:84",
                  "nodeType": "YulAssignment",
                  "src": "17589:59:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17620:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17620:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "17631:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17631:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17616:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17616:3:84"
                        },
                        "nativeSrc": "17616:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17616:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "17640:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "17640:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes",
                      "nativeSrc": "17599:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "17599:16:84"
                    },
                    "nativeSrc": "17599:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17599:49:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "17589:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17589:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "17657:48:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17657:48:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17690:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17690:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17701:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17701:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17686:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17686:3:84"
                        },
                        "nativeSrc": "17686:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17686:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17673:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "17673:12:84"
                    },
                    "nativeSrc": "17673:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17673:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "17661:8:84",
                      "nodeType": "YulTypedName",
                      "src": "17661:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17734:16:84",
                    "nodeType": "YulBlock",
                    "src": "17734:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17743:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17743:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17746:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17746:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17736:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17736:6:84"
                          },
                          "nativeSrc": "17736:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "17736:12:84"
                        },
                        "nativeSrc": "17736:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "17736:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "17720:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "17720:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "17730:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "17730:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "17717:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "17717:2:84"
                    },
                    "nativeSrc": "17717:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17717:16:84"
                  },
                  "nativeSrc": "17714:36:84",
                  "nodeType": "YulIf",
                  "src": "17714:36:84"
                },
                {
                  "nativeSrc": "17759:72:84",
                  "nodeType": "YulAssignment",
                  "src": "17759:72:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17801:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17801:9:84"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "17812:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "17812:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17797:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17797:3:84"
                        },
                        "nativeSrc": "17797:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17797:24:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "17823:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "17823:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_string_dyn",
                      "nativeSrc": "17769:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "17769:27:84"
                    },
                    "nativeSrc": "17769:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17769:62:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "17759:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17759:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_memory_ptrt_array$_t_string_memory_ptr_$dyn_memory_ptr",
            "nativeSrc": "17261:576:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "17350:9:84",
                "nodeType": "YulTypedName",
                "src": "17350:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "17361:7:84",
                "nodeType": "YulTypedName",
                "src": "17361:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "17373:6:84",
                "nodeType": "YulTypedName",
                "src": "17373:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "17381:6:84",
                "nodeType": "YulTypedName",
                "src": "17381:6:84",
                "type": ""
              }
            ],
            "src": "17261:576:84"
          },
          {
            "body": {
              "nativeSrc": "17874:95:84",
              "nodeType": "YulBlock",
              "src": "17874:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "17891:1:84",
                        "nodeType": "YulLiteral",
                        "src": "17891:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "17898:3:84",
                            "nodeType": "YulLiteral",
                            "src": "17898:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17903:10:84",
                            "nodeType": "YulLiteral",
                            "src": "17903:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "17894:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17894:3:84"
                        },
                        "nativeSrc": "17894:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17894:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "17884:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17884:6:84"
                    },
                    "nativeSrc": "17884:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17884:31:84"
                  },
                  "nativeSrc": "17884:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "17884:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "17931:1:84",
                        "nodeType": "YulLiteral",
                        "src": "17931:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17934:4:84",
                        "nodeType": "YulLiteral",
                        "src": "17934:4:84",
                        "type": "",
                        "value": "0x21"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "17924:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17924:6:84"
                    },
                    "nativeSrc": "17924:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17924:15:84"
                  },
                  "nativeSrc": "17924:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "17924:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "17955:1:84",
                        "nodeType": "YulLiteral",
                        "src": "17955:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17958:4:84",
                        "nodeType": "YulLiteral",
                        "src": "17958:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "17948:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17948:6:84"
                    },
                    "nativeSrc": "17948:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17948:15:84"
                  },
                  "nativeSrc": "17948:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "17948:15:84"
                }
              ]
            },
            "name": "panic_error_0x21",
            "nativeSrc": "17842:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "17842:127:84"
          },
          {
            "body": {
              "nativeSrc": "18101:133:84",
              "nodeType": "YulBlock",
              "src": "18101:133:84",
              "statements": [
                {
                  "nativeSrc": "18111:26:84",
                  "nodeType": "YulAssignment",
                  "src": "18111:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18123:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18123:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18134:2:84",
                        "nodeType": "YulLiteral",
                        "src": "18134:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "18119:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "18119:3:84"
                    },
                    "nativeSrc": "18119:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18119:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "18111:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "18111:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "18172:22:84",
                    "nodeType": "YulBlock",
                    "src": "18172:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "18174:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "18174:16:84"
                          },
                          "nativeSrc": "18174:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "18174:18:84"
                        },
                        "nativeSrc": "18174:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "18174:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "18159:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18159:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18167:2:84",
                            "nodeType": "YulLiteral",
                            "src": "18167:2:84",
                            "type": "",
                            "value": "20"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "18156:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "18156:2:84"
                        },
                        "nativeSrc": "18156:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18156:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "18149:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18149:6:84"
                    },
                    "nativeSrc": "18149:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18149:22:84"
                  },
                  "nativeSrc": "18146:48:84",
                  "nodeType": "YulIf",
                  "src": "18146:48:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18210:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18210:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "18221:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "18221:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18203:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18203:6:84"
                    },
                    "nativeSrc": "18203:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18203:25:84"
                  },
                  "nativeSrc": "18203:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "18203:25:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_RadonDataTypes_$16432__to_t_uint8__fromStack_library_reversed",
            "nativeSrc": "17974:260:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18070:9:84",
                "nodeType": "YulTypedName",
                "src": "18070:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "18081:6:84",
                "nodeType": "YulTypedName",
                "src": "18081:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "18092:4:84",
                "nodeType": "YulTypedName",
                "src": "18092:4:84",
                "type": ""
              }
            ],
            "src": "17974:260:84"
          },
          {
            "body": {
              "nativeSrc": "18342:257:84",
              "nodeType": "YulBlock",
              "src": "18342:257:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "18388:16:84",
                    "nodeType": "YulBlock",
                    "src": "18388:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18397:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18397:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "18400:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18400:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "18390:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18390:6:84"
                          },
                          "nativeSrc": "18390:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "18390:12:84"
                        },
                        "nativeSrc": "18390:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "18390:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "18363:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "18363:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "18372:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "18372:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "18359:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18359:3:84"
                        },
                        "nativeSrc": "18359:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18359:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18384:2:84",
                        "nodeType": "YulLiteral",
                        "src": "18384:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "18355:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "18355:3:84"
                    },
                    "nativeSrc": "18355:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18355:32:84"
                  },
                  "nativeSrc": "18352:52:84",
                  "nodeType": "YulIf",
                  "src": "18352:52:84"
                },
                {
                  "nativeSrc": "18413:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18413:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18440:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18440:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18427:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "18427:12:84"
                    },
                    "nativeSrc": "18427:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18427:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "18417:6:84",
                      "nodeType": "YulTypedName",
                      "src": "18417:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "18493:16:84",
                    "nodeType": "YulBlock",
                    "src": "18493:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18502:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18502:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "18505:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18505:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "18495:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18495:6:84"
                          },
                          "nativeSrc": "18495:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "18495:12:84"
                        },
                        "nativeSrc": "18495:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "18495:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "18465:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "18465:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18473:18:84",
                        "nodeType": "YulLiteral",
                        "src": "18473:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "18462:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "18462:2:84"
                    },
                    "nativeSrc": "18462:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18462:30:84"
                  },
                  "nativeSrc": "18459:50:84",
                  "nodeType": "YulIf",
                  "src": "18459:50:84"
                },
                {
                  "nativeSrc": "18518:75:84",
                  "nodeType": "YulAssignment",
                  "src": "18518:75:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18565:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "18565:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "18576:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18576:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18561:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18561:3:84"
                        },
                        "nativeSrc": "18561:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18561:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "18585:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "18585:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_RadonRetrieval",
                      "nativeSrc": "18528:32:84",
                      "nodeType": "YulIdentifier",
                      "src": "18528:32:84"
                    },
                    "nativeSrc": "18528:65:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18528:65:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "18518:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18518:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_RadonRetrieval_$16495_memory_ptr",
            "nativeSrc": "18239:360:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18308:9:84",
                "nodeType": "YulTypedName",
                "src": "18308:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "18319:7:84",
                "nodeType": "YulTypedName",
                "src": "18319:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "18331:6:84",
                "nodeType": "YulTypedName",
                "src": "18331:6:84",
                "type": ""
              }
            ],
            "src": "18239:360:84"
          },
          {
            "body": {
              "nativeSrc": "18728:143:84",
              "nodeType": "YulBlock",
              "src": "18728:143:84",
              "statements": [
                {
                  "nativeSrc": "18738:26:84",
                  "nodeType": "YulAssignment",
                  "src": "18738:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18750:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18750:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18761:2:84",
                        "nodeType": "YulLiteral",
                        "src": "18761:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "18746:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "18746:3:84"
                    },
                    "nativeSrc": "18746:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18746:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "18738:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "18738:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18780:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18780:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "18795:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18795:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18803:4:84",
                            "nodeType": "YulLiteral",
                            "src": "18803:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "18791:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18791:3:84"
                        },
                        "nativeSrc": "18791:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18791:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18773:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18773:6:84"
                    },
                    "nativeSrc": "18773:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18773:36:84"
                  },
                  "nativeSrc": "18773:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "18773:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18829:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "18829:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18840:2:84",
                            "nodeType": "YulLiteral",
                            "src": "18840:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18825:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18825:3:84"
                        },
                        "nativeSrc": "18825:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18825:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "18849:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18849:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18857:6:84",
                            "nodeType": "YulLiteral",
                            "src": "18857:6:84",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "18845:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18845:3:84"
                        },
                        "nativeSrc": "18845:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18845:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18818:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18818:6:84"
                    },
                    "nativeSrc": "18818:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18818:47:84"
                  },
                  "nativeSrc": "18818:47:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "18818:47:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8_t_uint16__to_t_uint8_t_uint256__fromStack_reversed",
            "nativeSrc": "18604:267:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18689:9:84",
                "nodeType": "YulTypedName",
                "src": "18689:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "18700:6:84",
                "nodeType": "YulTypedName",
                "src": "18700:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "18708:6:84",
                "nodeType": "YulTypedName",
                "src": "18708:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "18719:4:84",
                "nodeType": "YulTypedName",
                "src": "18719:4:84",
                "type": ""
              }
            ],
            "src": "18604:267:84"
          },
          {
            "body": {
              "nativeSrc": "18908:95:84",
              "nodeType": "YulBlock",
              "src": "18908:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "18925:1:84",
                        "nodeType": "YulLiteral",
                        "src": "18925:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "18932:3:84",
                            "nodeType": "YulLiteral",
                            "src": "18932:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18937:10:84",
                            "nodeType": "YulLiteral",
                            "src": "18937:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "18928:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18928:3:84"
                        },
                        "nativeSrc": "18928:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18928:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18918:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18918:6:84"
                    },
                    "nativeSrc": "18918:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18918:31:84"
                  },
                  "nativeSrc": "18918:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "18918:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "18965:1:84",
                        "nodeType": "YulLiteral",
                        "src": "18965:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18968:4:84",
                        "nodeType": "YulLiteral",
                        "src": "18968:4:84",
                        "type": "",
                        "value": "0x11"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18958:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18958:6:84"
                    },
                    "nativeSrc": "18958:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18958:15:84"
                  },
                  "nativeSrc": "18958:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "18958:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "18989:1:84",
                        "nodeType": "YulLiteral",
                        "src": "18989:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18992:4:84",
                        "nodeType": "YulLiteral",
                        "src": "18992:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "18982:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18982:6:84"
                    },
                    "nativeSrc": "18982:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18982:15:84"
                  },
                  "nativeSrc": "18982:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "18982:15:84"
                }
              ]
            },
            "name": "panic_error_0x11",
            "nativeSrc": "18876:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "18876:127:84"
          },
          {
            "body": {
              "nativeSrc": "19055:121:84",
              "nodeType": "YulBlock",
              "src": "19055:121:84",
              "statements": [
                {
                  "nativeSrc": "19065:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19065:16:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "19075:6:84",
                    "nodeType": "YulLiteral",
                    "src": "19075:6:84",
                    "type": "",
                    "value": "0xffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "19069:2:84",
                      "nodeType": "YulTypedName",
                      "src": "19069:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "19090:34:84",
                  "nodeType": "YulAssignment",
                  "src": "19090:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "19105:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "19105:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "19108:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "19108:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "19101:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19101:3:84"
                        },
                        "nativeSrc": "19101:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19101:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "19117:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "19117:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "19120:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "19120:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "19113:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19113:3:84"
                        },
                        "nativeSrc": "19113:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19113:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "19097:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19097:3:84"
                    },
                    "nativeSrc": "19097:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19097:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "19090:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19090:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "19148:22:84",
                    "nodeType": "YulBlock",
                    "src": "19148:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "19150:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "19150:16:84"
                          },
                          "nativeSrc": "19150:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "19150:18:84"
                        },
                        "nativeSrc": "19150:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "19150:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "19139:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "19139:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "19144:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "19144:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "19136:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "19136:2:84"
                    },
                    "nativeSrc": "19136:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19136:11:84"
                  },
                  "nativeSrc": "19133:37:84",
                  "nodeType": "YulIf",
                  "src": "19133:37:84"
                }
              ]
            },
            "name": "checked_add_t_uint16",
            "nativeSrc": "19008:168:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "19038:1:84",
                "nodeType": "YulTypedName",
                "src": "19038:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "19041:1:84",
                "nodeType": "YulTypedName",
                "src": "19041:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "19047:3:84",
                "nodeType": "YulTypedName",
                "src": "19047:3:84",
                "type": ""
              }
            ],
            "src": "19008:168:84"
          },
          {
            "body": {
              "nativeSrc": "19247:1003:84",
              "nodeType": "YulBlock",
              "src": "19247:1003:84",
              "statements": [
                {
                  "nativeSrc": "19257:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19257:16:84",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "19270:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "19270:3:84"
                  },
                  "variables": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "19261:5:84",
                      "nodeType": "YulTypedName",
                      "src": "19261:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "19282:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19282:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "19302:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "19302:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "19296:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "19296:5:84"
                    },
                    "nativeSrc": "19296:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19296:12:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "19286:6:84",
                      "nodeType": "YulTypedName",
                      "src": "19286:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "19324:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "19324:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "19329:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "19329:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19317:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19317:6:84"
                    },
                    "nativeSrc": "19317:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19317:19:84"
                  },
                  "nativeSrc": "19317:19:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19317:19:84"
                },
                {
                  "nativeSrc": "19345:14:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19345:14:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "19355:4:84",
                    "nodeType": "YulLiteral",
                    "src": "19355:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "19349:2:84",
                      "nodeType": "YulTypedName",
                      "src": "19349:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "19368:19:84",
                  "nodeType": "YulAssignment",
                  "src": "19368:19:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "19379:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "19379:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "19384:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "19384:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "19375:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19375:3:84"
                    },
                    "nativeSrc": "19375:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19375:12:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "19368:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19368:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "19396:47:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19396:47:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos_1",
                            "nativeSrc": "19416:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "19416:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "19427:1:84",
                                "nodeType": "YulLiteral",
                                "src": "19427:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "19430:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "19430:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "19423:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "19423:3:84"
                            },
                            "nativeSrc": "19423:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "19423:14:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19412:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19412:3:84"
                        },
                        "nativeSrc": "19412:26:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19412:26:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "19440:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "19440:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "19408:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19408:3:84"
                    },
                    "nativeSrc": "19408:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19408:35:84"
                  },
                  "variables": [
                    {
                      "name": "tail",
                      "nativeSrc": "19400:4:84",
                      "nodeType": "YulTypedName",
                      "src": "19400:4:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "19452:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19452:28:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "19470:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "19470:5:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "19477:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "19477:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "19466:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19466:3:84"
                    },
                    "nativeSrc": "19466:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19466:14:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "19456:6:84",
                      "nodeType": "YulTypedName",
                      "src": "19456:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "19489:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19489:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "19498:1:84",
                    "nodeType": "YulLiteral",
                    "src": "19498:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "19493:1:84",
                      "nodeType": "YulTypedName",
                      "src": "19493:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "19508:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19508:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "19519:1:84",
                    "nodeType": "YulLiteral",
                    "src": "19519:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i_1",
                      "nativeSrc": "19512:3:84",
                      "nodeType": "YulTypedName",
                      "src": "19512:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "19584:640:84",
                    "nodeType": "YulBlock",
                    "src": "19584:640:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "19605:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "19605:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail",
                                      "nativeSrc": "19618:4:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "19618:4:84"
                                    },
                                    {
                                      "name": "pos_1",
                                      "nativeSrc": "19624:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "19624:5:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "19614:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "19614:3:84"
                                  },
                                  "nativeSrc": "19614:16:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "19614:16:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "19636:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "19636:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "19632:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "19632:3:84"
                                  },
                                  "nativeSrc": "19632:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "19632:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "19610:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "19610:3:84"
                              },
                              "nativeSrc": "19610:30:84",
                              "nodeType": "YulFunctionCall",
                              "src": "19610:30:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "19598:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "19598:6:84"
                          },
                          "nativeSrc": "19598:43:84",
                          "nodeType": "YulFunctionCall",
                          "src": "19598:43:84"
                        },
                        "nativeSrc": "19598:43:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "19598:43:84"
                      },
                      {
                        "nativeSrc": "19654:23:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "19654:23:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "19670:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "19670:6:84"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "19664:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "19664:5:84"
                          },
                          "nativeSrc": "19664:13:84",
                          "nodeType": "YulFunctionCall",
                          "src": "19664:13:84"
                        },
                        "variables": [
                          {
                            "name": "_2",
                            "nativeSrc": "19658:2:84",
                            "nodeType": "YulTypedName",
                            "src": "19658:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "19690:17:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "19690:17:84",
                        "value": {
                          "name": "tail",
                          "nativeSrc": "19703:4:84",
                          "nodeType": "YulIdentifier",
                          "src": "19703:4:84"
                        },
                        "variables": [
                          {
                            "name": "pos_2",
                            "nativeSrc": "19694:5:84",
                            "nodeType": "YulTypedName",
                            "src": "19694:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "19720:13:84",
                        "nodeType": "YulAssignment",
                        "src": "19720:13:84",
                        "value": {
                          "name": "tail",
                          "nativeSrc": "19729:4:84",
                          "nodeType": "YulIdentifier",
                          "src": "19729:4:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos_2",
                            "nativeSrc": "19720:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "19720:5:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "19746:27:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "19746:27:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "tail",
                              "nativeSrc": "19764:4:84",
                              "nodeType": "YulIdentifier",
                              "src": "19764:4:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19770:2:84",
                              "nodeType": "YulLiteral",
                              "src": "19770:2:84",
                              "type": "",
                              "value": "64"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "19760:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "19760:3:84"
                          },
                          "nativeSrc": "19760:13:84",
                          "nodeType": "YulFunctionCall",
                          "src": "19760:13:84"
                        },
                        "variables": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "19750:6:84",
                            "nodeType": "YulTypedName",
                            "src": "19750:6:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "19786:18:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "19786:18:84",
                        "value": {
                          "name": "_2",
                          "nativeSrc": "19802:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "19802:2:84"
                        },
                        "variables": [
                          {
                            "name": "srcPtr_1",
                            "nativeSrc": "19790:8:84",
                            "nodeType": "YulTypedName",
                            "src": "19790:8:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "19817:12:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "19817:12:84",
                        "value": {
                          "name": "i",
                          "nativeSrc": "19828:1:84",
                          "nodeType": "YulIdentifier",
                          "src": "19828:1:84"
                        },
                        "variables": [
                          {
                            "name": "i_2",
                            "nativeSrc": "19821:3:84",
                            "nodeType": "YulTypedName",
                            "src": "19821:3:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "19899:218:84",
                          "nodeType": "YulBlock",
                          "src": "19899:218:84",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "pos_2",
                                    "nativeSrc": "19924:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "19924:5:84"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "name": "tail_1",
                                        "nativeSrc": "19935:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "19935:6:84"
                                      },
                                      {
                                        "name": "tail",
                                        "nativeSrc": "19943:4:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "19943:4:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sub",
                                      "nativeSrc": "19931:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "19931:3:84"
                                    },
                                    "nativeSrc": "19931:17:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "19931:17:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "mstore",
                                  "nativeSrc": "19917:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "19917:6:84"
                                },
                                "nativeSrc": "19917:32:84",
                                "nodeType": "YulFunctionCall",
                                "src": "19917:32:84"
                              },
                              "nativeSrc": "19917:32:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "19917:32:84"
                            },
                            {
                              "nativeSrc": "19966:51:84",
                              "nodeType": "YulAssignment",
                              "src": "19966:51:84",
                              "value": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "name": "srcPtr_1",
                                        "nativeSrc": "19999:8:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "19999:8:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mload",
                                      "nativeSrc": "19993:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "19993:5:84"
                                    },
                                    "nativeSrc": "19993:15:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "19993:15:84"
                                  },
                                  {
                                    "name": "tail_1",
                                    "nativeSrc": "20010:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "20010:6:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "abi_encode_bytes",
                                  "nativeSrc": "19976:16:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "19976:16:84"
                                },
                                "nativeSrc": "19976:41:84",
                                "nodeType": "YulFunctionCall",
                                "src": "19976:41:84"
                              },
                              "variableNames": [
                                {
                                  "name": "tail_1",
                                  "nativeSrc": "19966:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "19966:6:84"
                                }
                              ]
                            },
                            {
                              "nativeSrc": "20034:29:84",
                              "nodeType": "YulAssignment",
                              "src": "20034:29:84",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "srcPtr_1",
                                    "nativeSrc": "20050:8:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "20050:8:84"
                                  },
                                  {
                                    "name": "_1",
                                    "nativeSrc": "20060:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "20060:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "20046:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "20046:3:84"
                                },
                                "nativeSrc": "20046:17:84",
                                "nodeType": "YulFunctionCall",
                                "src": "20046:17:84"
                              },
                              "variableNames": [
                                {
                                  "name": "srcPtr_1",
                                  "nativeSrc": "20034:8:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "20034:8:84"
                                }
                              ]
                            },
                            {
                              "nativeSrc": "20080:23:84",
                              "nodeType": "YulAssignment",
                              "src": "20080:23:84",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "pos_2",
                                    "nativeSrc": "20093:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "20093:5:84"
                                  },
                                  {
                                    "name": "_1",
                                    "nativeSrc": "20100:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "20100:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "20089:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "20089:3:84"
                                },
                                "nativeSrc": "20089:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "20089:14:84"
                              },
                              "variableNames": [
                                {
                                  "name": "pos_2",
                                  "nativeSrc": "20080:5:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "20080:5:84"
                                }
                              ]
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "i_2",
                              "nativeSrc": "19853:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "19853:3:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19858:4:84",
                              "nodeType": "YulLiteral",
                              "src": "19858:4:84",
                              "type": "",
                              "value": "0x02"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "19850:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "19850:2:84"
                          },
                          "nativeSrc": "19850:13:84",
                          "nodeType": "YulFunctionCall",
                          "src": "19850:13:84"
                        },
                        "nativeSrc": "19842:275:84",
                        "nodeType": "YulForLoop",
                        "post": {
                          "nativeSrc": "19864:22:84",
                          "nodeType": "YulBlock",
                          "src": "19864:22:84",
                          "statements": [
                            {
                              "nativeSrc": "19866:18:84",
                              "nodeType": "YulAssignment",
                              "src": "19866:18:84",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "i_2",
                                    "nativeSrc": "19877:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "19877:3:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "19882:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "19882:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "19873:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "19873:3:84"
                                },
                                "nativeSrc": "19873:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "19873:11:84"
                              },
                              "variableNames": [
                                {
                                  "name": "i_2",
                                  "nativeSrc": "19866:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "19866:3:84"
                                }
                              ]
                            }
                          ]
                        },
                        "pre": {
                          "nativeSrc": "19846:3:84",
                          "nodeType": "YulBlock",
                          "src": "19846:3:84",
                          "statements": []
                        },
                        "src": "19842:275:84"
                      },
                      {
                        "nativeSrc": "20130:14:84",
                        "nodeType": "YulAssignment",
                        "src": "20130:14:84",
                        "value": {
                          "name": "tail_1",
                          "nativeSrc": "20138:6:84",
                          "nodeType": "YulIdentifier",
                          "src": "20138:6:84"
                        },
                        "variableNames": [
                          {
                            "name": "tail",
                            "nativeSrc": "20130:4:84",
                            "nodeType": "YulIdentifier",
                            "src": "20130:4:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "20157:25:84",
                        "nodeType": "YulAssignment",
                        "src": "20157:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "20171:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "20171:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "20179:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "20179:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "20167:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "20167:3:84"
                          },
                          "nativeSrc": "20167:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20167:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "20157:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "20157:6:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "20195:19:84",
                        "nodeType": "YulAssignment",
                        "src": "20195:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "20206:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "20206:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "20211:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "20211:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "20202:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "20202:3:84"
                          },
                          "nativeSrc": "20202:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20202:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "20195:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "20195:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i_1",
                        "nativeSrc": "19540:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "19540:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "19545:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "19545:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "19537:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "19537:2:84"
                    },
                    "nativeSrc": "19537:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19537:15:84"
                  },
                  "nativeSrc": "19529:695:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "19553:22:84",
                    "nodeType": "YulBlock",
                    "src": "19553:22:84",
                    "statements": [
                      {
                        "nativeSrc": "19555:18:84",
                        "nodeType": "YulAssignment",
                        "src": "19555:18:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i_1",
                              "nativeSrc": "19566:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "19566:3:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19571:1:84",
                              "nodeType": "YulLiteral",
                              "src": "19571:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "19562:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "19562:3:84"
                          },
                          "nativeSrc": "19562:11:84",
                          "nodeType": "YulFunctionCall",
                          "src": "19562:11:84"
                        },
                        "variableNames": [
                          {
                            "name": "i_1",
                            "nativeSrc": "19555:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "19555:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "19533:3:84",
                    "nodeType": "YulBlock",
                    "src": "19533:3:84",
                    "statements": []
                  },
                  "src": "19529:695:84"
                },
                {
                  "nativeSrc": "20233:11:84",
                  "nodeType": "YulAssignment",
                  "src": "20233:11:84",
                  "value": {
                    "name": "tail",
                    "nativeSrc": "20240:4:84",
                    "nodeType": "YulIdentifier",
                    "src": "20240:4:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "20233:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20233:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_array_array_string_dyn",
            "nativeSrc": "19181:1069:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "19224:5:84",
                "nodeType": "YulTypedName",
                "src": "19224:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "19231:3:84",
                "nodeType": "YulTypedName",
                "src": "19231:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "19239:3:84",
                "nodeType": "YulTypedName",
                "src": "19239:3:84",
                "type": ""
              }
            ],
            "src": "19181:1069:84"
          },
          {
            "body": {
              "nativeSrc": "20592:399:84",
              "nodeType": "YulBlock",
              "src": "20592:399:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "20609:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "20609:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "20624:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "20624:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20632:4:84",
                            "nodeType": "YulLiteral",
                            "src": "20632:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "20620:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20620:3:84"
                        },
                        "nativeSrc": "20620:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20620:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20602:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20602:6:84"
                    },
                    "nativeSrc": "20602:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20602:36:84"
                  },
                  "nativeSrc": "20602:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20602:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "20658:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "20658:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20669:2:84",
                            "nodeType": "YulLiteral",
                            "src": "20669:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20654:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20654:3:84"
                        },
                        "nativeSrc": "20654:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20654:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20674:3:84",
                        "nodeType": "YulLiteral",
                        "src": "20674:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20647:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20647:6:84"
                    },
                    "nativeSrc": "20647:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20647:31:84"
                  },
                  "nativeSrc": "20647:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20647:31:84"
                },
                {
                  "nativeSrc": "20687:59:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20687:59:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "20718:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "20718:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "20730:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "20730:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20741:3:84",
                            "nodeType": "YulLiteral",
                            "src": "20741:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20726:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20726:3:84"
                        },
                        "nativeSrc": "20726:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20726:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "20701:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "20701:16:84"
                    },
                    "nativeSrc": "20701:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20701:45:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "20691:6:84",
                      "nodeType": "YulTypedName",
                      "src": "20691:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "20766:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "20766:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20777:2:84",
                            "nodeType": "YulLiteral",
                            "src": "20777:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20762:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20762:3:84"
                        },
                        "nativeSrc": "20762:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20762:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "20786:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "20786:6:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "20794:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "20794:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "20782:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20782:3:84"
                        },
                        "nativeSrc": "20782:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20782:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20755:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20755:6:84"
                    },
                    "nativeSrc": "20755:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20755:50:84"
                  },
                  "nativeSrc": "20755:50:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20755:50:84"
                },
                {
                  "nativeSrc": "20814:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20814:46:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "20845:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "20845:6:84"
                      },
                      {
                        "name": "tail_1",
                        "nativeSrc": "20853:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "20853:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "20828:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "20828:16:84"
                    },
                    "nativeSrc": "20828:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20828:32:84"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "20818:6:84",
                      "nodeType": "YulTypedName",
                      "src": "20818:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "20880:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "20880:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20891:2:84",
                            "nodeType": "YulLiteral",
                            "src": "20891:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20876:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20876:3:84"
                        },
                        "nativeSrc": "20876:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20876:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "20900:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "20900:6:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "20908:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "20908:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "20896:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20896:3:84"
                        },
                        "nativeSrc": "20896:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20896:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20869:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20869:6:84"
                    },
                    "nativeSrc": "20869:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20869:50:84"
                  },
                  "nativeSrc": "20869:50:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20869:50:84"
                },
                {
                  "nativeSrc": "20928:57:84",
                  "nodeType": "YulAssignment",
                  "src": "20928:57:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value3",
                        "nativeSrc": "20970:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "20970:6:84"
                      },
                      {
                        "name": "tail_2",
                        "nativeSrc": "20978:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "20978:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_array_array_string_dyn",
                      "nativeSrc": "20936:33:84",
                      "nodeType": "YulIdentifier",
                      "src": "20936:33:84"
                    },
                    "nativeSrc": "20936:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20936:49:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "20928:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "20928:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8_t_string_memory_ptr_t_string_memory_ptr_t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr__to_t_uint8_t_string_memory_ptr_t_string_memory_ptr_t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "20255:736:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "20537:9:84",
                "nodeType": "YulTypedName",
                "src": "20537:9:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "20548:6:84",
                "nodeType": "YulTypedName",
                "src": "20548:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "20556:6:84",
                "nodeType": "YulTypedName",
                "src": "20556:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "20564:6:84",
                "nodeType": "YulTypedName",
                "src": "20564:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "20572:6:84",
                "nodeType": "YulTypedName",
                "src": "20572:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "20583:4:84",
                "nodeType": "YulTypedName",
                "src": "20583:4:84",
                "type": ""
              }
            ],
            "src": "20255:736:84"
          },
          {
            "body": {
              "nativeSrc": "21410:559:84",
              "nodeType": "YulBlock",
              "src": "21410:559:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "21445:22:84",
                    "nodeType": "YulBlock",
                    "src": "21445:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "21447:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "21447:16:84"
                          },
                          "nativeSrc": "21447:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "21447:18:84"
                        },
                        "nativeSrc": "21447:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "21447:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "21433:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21433:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21441:1:84",
                            "nodeType": "YulLiteral",
                            "src": "21441:1:84",
                            "type": "",
                            "value": "5"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "21430:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "21430:2:84"
                        },
                        "nativeSrc": "21430:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21430:13:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "21423:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21423:6:84"
                    },
                    "nativeSrc": "21423:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21423:21:84"
                  },
                  "nativeSrc": "21420:47:84",
                  "nodeType": "YulIf",
                  "src": "21420:47:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21483:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "21483:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "21494:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21494:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21476:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21476:6:84"
                    },
                    "nativeSrc": "21476:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21476:25:84"
                  },
                  "nativeSrc": "21476:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21476:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21521:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "21521:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21532:2:84",
                            "nodeType": "YulLiteral",
                            "src": "21532:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21517:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21517:3:84"
                        },
                        "nativeSrc": "21517:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21517:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21537:3:84",
                        "nodeType": "YulLiteral",
                        "src": "21537:3:84",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21510:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21510:6:84"
                    },
                    "nativeSrc": "21510:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21510:31:84"
                  },
                  "nativeSrc": "21510:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21510:31:84"
                },
                {
                  "nativeSrc": "21550:59:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21550:59:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "21581:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21581:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21593:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "21593:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21604:3:84",
                            "nodeType": "YulLiteral",
                            "src": "21604:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21589:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21589:3:84"
                        },
                        "nativeSrc": "21589:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21589:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "21564:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "21564:16:84"
                    },
                    "nativeSrc": "21564:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21564:45:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "21554:6:84",
                      "nodeType": "YulTypedName",
                      "src": "21554:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21629:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "21629:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21640:2:84",
                            "nodeType": "YulLiteral",
                            "src": "21640:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21625:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21625:3:84"
                        },
                        "nativeSrc": "21625:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21625:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "21649:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21649:6:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "21657:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "21657:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "21645:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21645:3:84"
                        },
                        "nativeSrc": "21645:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21645:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21618:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21618:6:84"
                    },
                    "nativeSrc": "21618:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21618:50:84"
                  },
                  "nativeSrc": "21618:50:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21618:50:84"
                },
                {
                  "nativeSrc": "21677:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21677:46:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "21708:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21708:6:84"
                      },
                      {
                        "name": "tail_1",
                        "nativeSrc": "21716:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21716:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "21691:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "21691:16:84"
                    },
                    "nativeSrc": "21691:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21691:32:84"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "21681:6:84",
                      "nodeType": "YulTypedName",
                      "src": "21681:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21743:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "21743:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21754:2:84",
                            "nodeType": "YulLiteral",
                            "src": "21754:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21739:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21739:3:84"
                        },
                        "nativeSrc": "21739:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21739:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "21763:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21763:6:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "21771:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "21771:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "21759:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21759:3:84"
                        },
                        "nativeSrc": "21759:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21759:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21732:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21732:6:84"
                    },
                    "nativeSrc": "21732:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21732:50:84"
                  },
                  "nativeSrc": "21732:50:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21732:50:84"
                },
                {
                  "nativeSrc": "21791:63:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21791:63:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value3",
                        "nativeSrc": "21839:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21839:6:84"
                      },
                      {
                        "name": "tail_2",
                        "nativeSrc": "21847:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21847:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_array_array_string_dyn",
                      "nativeSrc": "21805:33:84",
                      "nodeType": "YulIdentifier",
                      "src": "21805:33:84"
                    },
                    "nativeSrc": "21805:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21805:49:84"
                  },
                  "variables": [
                    {
                      "name": "tail_3",
                      "nativeSrc": "21795:6:84",
                      "nodeType": "YulTypedName",
                      "src": "21795:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "21874:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "21874:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21885:3:84",
                            "nodeType": "YulLiteral",
                            "src": "21885:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21870:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21870:3:84"
                        },
                        "nativeSrc": "21870:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21870:19:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail_3",
                            "nativeSrc": "21895:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21895:6:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "21903:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "21903:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "21891:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21891:3:84"
                        },
                        "nativeSrc": "21891:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21891:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21863:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21863:6:84"
                    },
                    "nativeSrc": "21863:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21863:51:84"
                  },
                  "nativeSrc": "21863:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21863:51:84"
                },
                {
                  "nativeSrc": "21923:40:84",
                  "nodeType": "YulAssignment",
                  "src": "21923:40:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value4",
                        "nativeSrc": "21948:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21948:6:84"
                      },
                      {
                        "name": "tail_3",
                        "nativeSrc": "21956:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21956:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "21931:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "21931:16:84"
                    },
                    "nativeSrc": "21931:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21931:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "21923:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "21923:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_RadonDataRequestMethods_$16410_t_string_memory_ptr_t_string_memory_ptr_t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr__to_t_uint8_t_string_memory_ptr_t_string_memory_ptr_t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_reversed",
            "nativeSrc": "20996:973:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "21347:9:84",
                "nodeType": "YulTypedName",
                "src": "21347:9:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "21358:6:84",
                "nodeType": "YulTypedName",
                "src": "21358:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "21366:6:84",
                "nodeType": "YulTypedName",
                "src": "21366:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "21374:6:84",
                "nodeType": "YulTypedName",
                "src": "21374:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "21382:6:84",
                "nodeType": "YulTypedName",
                "src": "21382:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "21390:6:84",
                "nodeType": "YulTypedName",
                "src": "21390:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "21401:4:84",
                "nodeType": "YulTypedName",
                "src": "21401:4:84",
                "type": ""
              }
            ],
            "src": "20996:973:84"
          },
          {
            "body": {
              "nativeSrc": "22006:95:84",
              "nodeType": "YulBlock",
              "src": "22006:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "22023:1:84",
                        "nodeType": "YulLiteral",
                        "src": "22023:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "22030:3:84",
                            "nodeType": "YulLiteral",
                            "src": "22030:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22035:10:84",
                            "nodeType": "YulLiteral",
                            "src": "22035:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "22026:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22026:3:84"
                        },
                        "nativeSrc": "22026:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22026:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22016:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22016:6:84"
                    },
                    "nativeSrc": "22016:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22016:31:84"
                  },
                  "nativeSrc": "22016:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22016:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "22063:1:84",
                        "nodeType": "YulLiteral",
                        "src": "22063:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22066:4:84",
                        "nodeType": "YulLiteral",
                        "src": "22066:4:84",
                        "type": "",
                        "value": "0x32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22056:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22056:6:84"
                    },
                    "nativeSrc": "22056:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22056:15:84"
                  },
                  "nativeSrc": "22056:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22056:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "22087:1:84",
                        "nodeType": "YulLiteral",
                        "src": "22087:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22090:4:84",
                        "nodeType": "YulLiteral",
                        "src": "22090:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "22080:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22080:6:84"
                    },
                    "nativeSrc": "22080:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22080:15:84"
                  },
                  "nativeSrc": "22080:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22080:15:84"
                }
              ]
            },
            "name": "panic_error_0x32",
            "nativeSrc": "21974:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "21974:127:84"
          },
          {
            "body": {
              "nativeSrc": "22289:309:84",
              "nodeType": "YulBlock",
              "src": "22289:309:84",
              "statements": [
                {
                  "nativeSrc": "22299:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22299:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "22319:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22319:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "22313:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "22313:5:84"
                    },
                    "nativeSrc": "22313:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22313:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "22303:6:84",
                      "nodeType": "YulTypedName",
                      "src": "22303:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "22374:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22374:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22382:4:84",
                            "nodeType": "YulLiteral",
                            "src": "22382:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22370:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22370:3:84"
                        },
                        "nativeSrc": "22370:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22370:17:84"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "22389:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "22389:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "22394:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22394:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "22335:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "22335:34:84"
                    },
                    "nativeSrc": "22335:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22335:66:84"
                  },
                  "nativeSrc": "22335:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22335:66:84"
                },
                {
                  "nativeSrc": "22410:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22410:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "22427:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "22427:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "22432:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22432:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "22423:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22423:3:84"
                    },
                    "nativeSrc": "22423:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22423:16:84"
                  },
                  "variables": [
                    {
                      "name": "end_1",
                      "nativeSrc": "22414:5:84",
                      "nodeType": "YulTypedName",
                      "src": "22414:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "22448:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22448:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "22470:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22470:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "22464:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "22464:5:84"
                    },
                    "nativeSrc": "22464:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22464:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "22452:8:84",
                      "nodeType": "YulTypedName",
                      "src": "22452:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "22525:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22525:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22533:4:84",
                            "nodeType": "YulLiteral",
                            "src": "22533:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22521:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22521:3:84"
                        },
                        "nativeSrc": "22521:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22521:17:84"
                      },
                      {
                        "name": "end_1",
                        "nativeSrc": "22540:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "22540:5:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "22547:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "22547:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "22486:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "22486:34:84"
                    },
                    "nativeSrc": "22486:70:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22486:70:84"
                  },
                  "nativeSrc": "22486:70:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22486:70:84"
                },
                {
                  "nativeSrc": "22565:27:84",
                  "nodeType": "YulAssignment",
                  "src": "22565:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "22576:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "22576:5:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "22583:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "22583:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "22572:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22572:3:84"
                    },
                    "nativeSrc": "22572:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22572:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "22565:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22565:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "22106:492:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "22257:3:84",
                "nodeType": "YulTypedName",
                "src": "22257:3:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "22262:6:84",
                "nodeType": "YulTypedName",
                "src": "22262:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "22270:6:84",
                "nodeType": "YulTypedName",
                "src": "22270:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "22281:3:84",
                "nodeType": "YulTypedName",
                "src": "22281:3:84",
                "type": ""
              }
            ],
            "src": "22106:492:84"
          },
          {
            "body": {
              "nativeSrc": "22777:231:84",
              "nodeType": "YulBlock",
              "src": "22777:231:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22794:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "22794:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22805:2:84",
                        "nodeType": "YulLiteral",
                        "src": "22805:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22787:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22787:6:84"
                    },
                    "nativeSrc": "22787:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22787:21:84"
                  },
                  "nativeSrc": "22787:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22787:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22828:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22828:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22839:2:84",
                            "nodeType": "YulLiteral",
                            "src": "22839:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22824:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22824:3:84"
                        },
                        "nativeSrc": "22824:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22824:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22844:2:84",
                        "nodeType": "YulLiteral",
                        "src": "22844:2:84",
                        "type": "",
                        "value": "41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22817:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22817:6:84"
                    },
                    "nativeSrc": "22817:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22817:30:84"
                  },
                  "nativeSrc": "22817:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22817:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22867:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22867:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22878:2:84",
                            "nodeType": "YulLiteral",
                            "src": "22878:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22863:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22863:3:84"
                        },
                        "nativeSrc": "22863:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22863:18:84"
                      },
                      {
                        "hexValue": "5769746e6574456e636f64696e674c69623a20696e76616c696420534c413a20",
                        "kind": "string",
                        "nativeSrc": "22883:34:84",
                        "nodeType": "YulLiteral",
                        "src": "22883:34:84",
                        "type": "",
                        "value": "WitnetEncodingLib: invalid SLA: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22856:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22856:6:84"
                    },
                    "nativeSrc": "22856:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22856:62:84"
                  },
                  "nativeSrc": "22856:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22856:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22938:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22938:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22949:2:84",
                            "nodeType": "YulLiteral",
                            "src": "22949:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22934:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22934:3:84"
                        },
                        "nativeSrc": "22934:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22934:18:84"
                      },
                      {
                        "hexValue": "6e6f20726577617264",
                        "kind": "string",
                        "nativeSrc": "22954:11:84",
                        "nodeType": "YulLiteral",
                        "src": "22954:11:84",
                        "type": "",
                        "value": "no reward"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22927:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22927:6:84"
                    },
                    "nativeSrc": "22927:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22927:39:84"
                  },
                  "nativeSrc": "22927:39:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22927:39:84"
                },
                {
                  "nativeSrc": "22975:27:84",
                  "nodeType": "YulAssignment",
                  "src": "22975:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22987:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "22987:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22998:3:84",
                        "nodeType": "YulLiteral",
                        "src": "22998:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "22983:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22983:3:84"
                    },
                    "nativeSrc": "22983:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22983:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "22975:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "22975:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_d5aaf5f96cb3989607204c167e3ad1fc3d9441c2aebac45df70a4561eb9f58ea__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "22603:405:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "22754:9:84",
                "nodeType": "YulTypedName",
                "src": "22754:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "22768:4:84",
                "nodeType": "YulTypedName",
                "src": "22768:4:84",
                "type": ""
              }
            ],
            "src": "22603:405:84"
          },
          {
            "body": {
              "nativeSrc": "23187:234:84",
              "nodeType": "YulBlock",
              "src": "23187:234:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "23204:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "23204:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23215:2:84",
                        "nodeType": "YulLiteral",
                        "src": "23215:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23197:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23197:6:84"
                    },
                    "nativeSrc": "23197:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23197:21:84"
                  },
                  "nativeSrc": "23197:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "23197:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "23238:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "23238:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23249:2:84",
                            "nodeType": "YulLiteral",
                            "src": "23249:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23234:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "23234:3:84"
                        },
                        "nativeSrc": "23234:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "23234:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23254:2:84",
                        "nodeType": "YulLiteral",
                        "src": "23254:2:84",
                        "type": "",
                        "value": "44"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23227:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23227:6:84"
                    },
                    "nativeSrc": "23227:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23227:30:84"
                  },
                  "nativeSrc": "23227:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "23227:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "23277:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "23277:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23288:2:84",
                            "nodeType": "YulLiteral",
                            "src": "23288:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23273:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "23273:3:84"
                        },
                        "nativeSrc": "23273:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "23273:18:84"
                      },
                      {
                        "hexValue": "5769746e6574456e636f64696e674c69623a20696e76616c696420534c413a20",
                        "kind": "string",
                        "nativeSrc": "23293:34:84",
                        "nodeType": "YulLiteral",
                        "src": "23293:34:84",
                        "type": "",
                        "value": "WitnetEncodingLib: invalid SLA: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23266:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23266:6:84"
                    },
                    "nativeSrc": "23266:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23266:62:84"
                  },
                  "nativeSrc": "23266:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "23266:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "23348:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "23348:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23359:2:84",
                            "nodeType": "YulLiteral",
                            "src": "23359:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23344:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "23344:3:84"
                        },
                        "nativeSrc": "23344:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "23344:18:84"
                      },
                      {
                        "hexValue": "6e6f207769746e6573736573",
                        "kind": "string",
                        "nativeSrc": "23364:14:84",
                        "nodeType": "YulLiteral",
                        "src": "23364:14:84",
                        "type": "",
                        "value": "no witnesses"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23337:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23337:6:84"
                    },
                    "nativeSrc": "23337:42:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23337:42:84"
                  },
                  "nativeSrc": "23337:42:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "23337:42:84"
                },
                {
                  "nativeSrc": "23388:27:84",
                  "nodeType": "YulAssignment",
                  "src": "23388:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "23400:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "23400:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23411:3:84",
                        "nodeType": "YulLiteral",
                        "src": "23411:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23396:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23396:3:84"
                    },
                    "nativeSrc": "23396:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23396:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "23388:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "23388:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_4ad1a34e9a1a42f1c08146454c8f85771db21b33e79a33ae9b2284649fd4bd0a__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "23013:408:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "23164:9:84",
                "nodeType": "YulTypedName",
                "src": "23164:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "23178:4:84",
                "nodeType": "YulTypedName",
                "src": "23178:4:84",
                "type": ""
              }
            ],
            "src": "23013:408:84"
          },
          {
            "body": {
              "nativeSrc": "23600:247:84",
              "nodeType": "YulBlock",
              "src": "23600:247:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "23617:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "23617:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23628:2:84",
                        "nodeType": "YulLiteral",
                        "src": "23628:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23610:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23610:6:84"
                    },
                    "nativeSrc": "23610:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23610:21:84"
                  },
                  "nativeSrc": "23610:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "23610:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "23651:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "23651:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23662:2:84",
                            "nodeType": "YulLiteral",
                            "src": "23662:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23647:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "23647:3:84"
                        },
                        "nativeSrc": "23647:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "23647:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23667:2:84",
                        "nodeType": "YulLiteral",
                        "src": "23667:2:84",
                        "type": "",
                        "value": "57"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23640:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23640:6:84"
                    },
                    "nativeSrc": "23640:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23640:30:84"
                  },
                  "nativeSrc": "23640:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "23640:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "23690:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "23690:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23701:2:84",
                            "nodeType": "YulLiteral",
                            "src": "23701:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23686:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "23686:3:84"
                        },
                        "nativeSrc": "23686:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "23686:18:84"
                      },
                      {
                        "hexValue": "5769746e6574456e636f64696e674c69623a20696e76616c696420534c413a20",
                        "kind": "string",
                        "nativeSrc": "23706:34:84",
                        "nodeType": "YulLiteral",
                        "src": "23706:34:84",
                        "type": "",
                        "value": "WitnetEncodingLib: invalid SLA: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23679:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23679:6:84"
                    },
                    "nativeSrc": "23679:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23679:62:84"
                  },
                  "nativeSrc": "23679:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "23679:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "23761:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "23761:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23772:2:84",
                            "nodeType": "YulLiteral",
                            "src": "23772:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23757:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "23757:3:84"
                        },
                        "nativeSrc": "23757:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "23757:18:84"
                      },
                      {
                        "hexValue": "746f6f206d616e79207769746e657373657320283e31323729",
                        "kind": "string",
                        "nativeSrc": "23777:27:84",
                        "nodeType": "YulLiteral",
                        "src": "23777:27:84",
                        "type": "",
                        "value": "too many witnesses (>127)"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23750:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23750:6:84"
                    },
                    "nativeSrc": "23750:55:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23750:55:84"
                  },
                  "nativeSrc": "23750:55:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "23750:55:84"
                },
                {
                  "nativeSrc": "23814:27:84",
                  "nodeType": "YulAssignment",
                  "src": "23814:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "23826:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "23826:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23837:3:84",
                        "nodeType": "YulLiteral",
                        "src": "23837:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23822:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23822:3:84"
                    },
                    "nativeSrc": "23822:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23822:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "23814:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "23814:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_0f64ac4354fc3ee9b0093934216b56757a203750eebaa36bfbdeaab5dee02abd__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "23426:421:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "23577:9:84",
                "nodeType": "YulTypedName",
                "src": "23577:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "23591:4:84",
                "nodeType": "YulTypedName",
                "src": "23591:4:84",
                "type": ""
              }
            ],
            "src": "23426:421:84"
          },
          {
            "body": {
              "nativeSrc": "24026:295:84",
              "nodeType": "YulBlock",
              "src": "24026:295:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24043:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "24043:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24054:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24054:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24036:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24036:6:84"
                    },
                    "nativeSrc": "24036:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24036:21:84"
                  },
                  "nativeSrc": "24036:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24036:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24077:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "24077:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24088:2:84",
                            "nodeType": "YulLiteral",
                            "src": "24088:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24073:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "24073:3:84"
                        },
                        "nativeSrc": "24073:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24073:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24093:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24093:2:84",
                        "type": "",
                        "value": "65"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24066:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24066:6:84"
                    },
                    "nativeSrc": "24066:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24066:30:84"
                  },
                  "nativeSrc": "24066:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24066:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24116:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "24116:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24127:2:84",
                            "nodeType": "YulLiteral",
                            "src": "24127:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24112:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "24112:3:84"
                        },
                        "nativeSrc": "24112:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24112:18:84"
                      },
                      {
                        "hexValue": "5769746e6574456e636f64696e674c69623a20696e76616c696420534c413a20",
                        "kind": "string",
                        "nativeSrc": "24132:34:84",
                        "nodeType": "YulLiteral",
                        "src": "24132:34:84",
                        "type": "",
                        "value": "WitnetEncodingLib: invalid SLA: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24105:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24105:6:84"
                    },
                    "nativeSrc": "24105:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24105:62:84"
                  },
                  "nativeSrc": "24105:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24105:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24187:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "24187:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24198:2:84",
                            "nodeType": "YulLiteral",
                            "src": "24198:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24183:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "24183:3:84"
                        },
                        "nativeSrc": "24183:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24183:18:84"
                      },
                      {
                        "hexValue": "636f6e73656e7375732070657263656e74616765206f7574206f662072616e67",
                        "kind": "string",
                        "nativeSrc": "24203:34:84",
                        "nodeType": "YulLiteral",
                        "src": "24203:34:84",
                        "type": "",
                        "value": "consensus percentage out of rang"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24176:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24176:6:84"
                    },
                    "nativeSrc": "24176:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24176:62:84"
                  },
                  "nativeSrc": "24176:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24176:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24258:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "24258:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24269:3:84",
                            "nodeType": "YulLiteral",
                            "src": "24269:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24254:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "24254:3:84"
                        },
                        "nativeSrc": "24254:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24254:19:84"
                      },
                      {
                        "hexValue": "65",
                        "kind": "string",
                        "nativeSrc": "24275:3:84",
                        "nodeType": "YulLiteral",
                        "src": "24275:3:84",
                        "type": "",
                        "value": "e"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24247:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24247:6:84"
                    },
                    "nativeSrc": "24247:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24247:32:84"
                  },
                  "nativeSrc": "24247:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24247:32:84"
                },
                {
                  "nativeSrc": "24288:27:84",
                  "nodeType": "YulAssignment",
                  "src": "24288:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24300:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "24300:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24311:3:84",
                        "nodeType": "YulLiteral",
                        "src": "24311:3:84",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24296:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24296:3:84"
                    },
                    "nativeSrc": "24296:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24296:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "24288:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "24288:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_3c485ab42b687f826f0ccc3ea30e0db39d176b9d12684a96f566c83dbc4a9098__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "23852:469:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "24003:9:84",
                "nodeType": "YulTypedName",
                "src": "24003:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "24017:4:84",
                "nodeType": "YulTypedName",
                "src": "24017:4:84",
                "type": ""
              }
            ],
            "src": "23852:469:84"
          },
          {
            "body": {
              "nativeSrc": "24500:235:84",
              "nodeType": "YulBlock",
              "src": "24500:235:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24517:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "24517:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24528:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24528:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24510:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24510:6:84"
                    },
                    "nativeSrc": "24510:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24510:21:84"
                  },
                  "nativeSrc": "24510:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24510:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24551:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "24551:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24562:2:84",
                            "nodeType": "YulLiteral",
                            "src": "24562:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24547:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "24547:3:84"
                        },
                        "nativeSrc": "24547:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24547:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24567:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24567:2:84",
                        "type": "",
                        "value": "45"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24540:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24540:6:84"
                    },
                    "nativeSrc": "24540:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24540:30:84"
                  },
                  "nativeSrc": "24540:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24540:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24590:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "24590:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24601:2:84",
                            "nodeType": "YulLiteral",
                            "src": "24601:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24586:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "24586:3:84"
                        },
                        "nativeSrc": "24586:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24586:18:84"
                      },
                      {
                        "hexValue": "5769746e6574456e636f64696e674c69623a20696e76616c696420534c413a20",
                        "kind": "string",
                        "nativeSrc": "24606:34:84",
                        "nodeType": "YulLiteral",
                        "src": "24606:34:84",
                        "type": "",
                        "value": "WitnetEncodingLib: invalid SLA: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24579:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24579:6:84"
                    },
                    "nativeSrc": "24579:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24579:62:84"
                  },
                  "nativeSrc": "24579:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24579:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24661:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "24661:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24672:2:84",
                            "nodeType": "YulLiteral",
                            "src": "24672:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24657:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "24657:3:84"
                        },
                        "nativeSrc": "24657:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24657:18:84"
                      },
                      {
                        "hexValue": "6e6f20636f6c6c61746572616c",
                        "kind": "string",
                        "nativeSrc": "24677:15:84",
                        "nodeType": "YulLiteral",
                        "src": "24677:15:84",
                        "type": "",
                        "value": "no collateral"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24650:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24650:6:84"
                    },
                    "nativeSrc": "24650:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24650:43:84"
                  },
                  "nativeSrc": "24650:43:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24650:43:84"
                },
                {
                  "nativeSrc": "24702:27:84",
                  "nodeType": "YulAssignment",
                  "src": "24702:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24714:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "24714:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24725:3:84",
                        "nodeType": "YulLiteral",
                        "src": "24725:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24710:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24710:3:84"
                    },
                    "nativeSrc": "24710:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24710:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "24702:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "24702:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_eba0b4c426190ab49b8ae13e67660278506cf46123ea7a68bd88143bb4fadcc9__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "24326:409:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "24477:9:84",
                "nodeType": "YulTypedName",
                "src": "24477:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "24491:4:84",
                "nodeType": "YulTypedName",
                "src": "24491:4:84",
                "type": ""
              }
            ],
            "src": "24326:409:84"
          },
          {
            "body": {
              "nativeSrc": "24772:95:84",
              "nodeType": "YulBlock",
              "src": "24772:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "24789:1:84",
                        "nodeType": "YulLiteral",
                        "src": "24789:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "24796:3:84",
                            "nodeType": "YulLiteral",
                            "src": "24796:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24801:10:84",
                            "nodeType": "YulLiteral",
                            "src": "24801:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "24792:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "24792:3:84"
                        },
                        "nativeSrc": "24792:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24792:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24782:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24782:6:84"
                    },
                    "nativeSrc": "24782:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24782:31:84"
                  },
                  "nativeSrc": "24782:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24782:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "24829:1:84",
                        "nodeType": "YulLiteral",
                        "src": "24829:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24832:4:84",
                        "nodeType": "YulLiteral",
                        "src": "24832:4:84",
                        "type": "",
                        "value": "0x12"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24822:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24822:6:84"
                    },
                    "nativeSrc": "24822:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24822:15:84"
                  },
                  "nativeSrc": "24822:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24822:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "24853:1:84",
                        "nodeType": "YulLiteral",
                        "src": "24853:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24856:4:84",
                        "nodeType": "YulLiteral",
                        "src": "24856:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "24846:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24846:6:84"
                    },
                    "nativeSrc": "24846:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24846:15:84"
                  },
                  "nativeSrc": "24846:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24846:15:84"
                }
              ]
            },
            "name": "panic_error_0x12",
            "nativeSrc": "24740:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "24740:127:84"
          },
          {
            "body": {
              "nativeSrc": "24917:154:84",
              "nodeType": "YulBlock",
              "src": "24917:154:84",
              "statements": [
                {
                  "nativeSrc": "24927:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24927:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "24937:18:84",
                    "nodeType": "YulLiteral",
                    "src": "24937:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "24931:2:84",
                      "nodeType": "YulTypedName",
                      "src": "24931:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24964:21:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24964:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "24979:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "24979:1:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "24982:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "24982:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "24975:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24975:3:84"
                    },
                    "nativeSrc": "24975:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24975:10:84"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "24968:3:84",
                      "nodeType": "YulTypedName",
                      "src": "24968:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "25009:22:84",
                    "nodeType": "YulBlock",
                    "src": "25009:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "25011:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "25011:16:84"
                          },
                          "nativeSrc": "25011:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "25011:18:84"
                        },
                        "nativeSrc": "25011:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "25011:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "25004:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "25004:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "24997:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24997:6:84"
                    },
                    "nativeSrc": "24997:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24997:11:84"
                  },
                  "nativeSrc": "24994:37:84",
                  "nodeType": "YulIf",
                  "src": "24994:37:84"
                },
                {
                  "nativeSrc": "25040:25:84",
                  "nodeType": "YulAssignment",
                  "src": "25040:25:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "25053:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "25053:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "25056:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "25056:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "25049:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25049:3:84"
                        },
                        "nativeSrc": "25049:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25049:10:84"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "25061:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "25061:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "25045:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "25045:3:84"
                    },
                    "nativeSrc": "25045:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25045:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "25040:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "25040:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint64",
            "nativeSrc": "24872:199:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "24902:1:84",
                "nodeType": "YulTypedName",
                "src": "24902:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "24905:1:84",
                "nodeType": "YulTypedName",
                "src": "24905:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "24911:1:84",
                "nodeType": "YulTypedName",
                "src": "24911:1:84",
                "type": ""
              }
            ],
            "src": "24872:199:84"
          },
          {
            "body": {
              "nativeSrc": "25250:301:84",
              "nodeType": "YulBlock",
              "src": "25250:301:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25267:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "25267:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25278:2:84",
                        "nodeType": "YulLiteral",
                        "src": "25278:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25260:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25260:6:84"
                    },
                    "nativeSrc": "25260:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25260:21:84"
                  },
                  "nativeSrc": "25260:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25260:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25301:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25301:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25312:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25312:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25297:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25297:3:84"
                        },
                        "nativeSrc": "25297:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25297:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25317:2:84",
                        "nodeType": "YulLiteral",
                        "src": "25317:2:84",
                        "type": "",
                        "value": "71"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25290:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25290:6:84"
                    },
                    "nativeSrc": "25290:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25290:30:84"
                  },
                  "nativeSrc": "25290:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25290:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25340:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25340:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25351:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25351:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25336:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25336:3:84"
                        },
                        "nativeSrc": "25336:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25336:18:84"
                      },
                      {
                        "hexValue": "5769746e6574456e636f64696e674c69623a20696e76616c696420534c413a20",
                        "kind": "string",
                        "nativeSrc": "25356:34:84",
                        "nodeType": "YulLiteral",
                        "src": "25356:34:84",
                        "type": "",
                        "value": "WitnetEncodingLib: invalid SLA: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25329:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25329:6:84"
                    },
                    "nativeSrc": "25329:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25329:62:84"
                  },
                  "nativeSrc": "25329:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25329:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25411:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25411:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25422:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25422:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25407:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25407:3:84"
                        },
                        "nativeSrc": "25407:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25407:18:84"
                      },
                      {
                        "hexValue": "636f6c6c61746572616c2f72657761726420726174696f20746f6f2068696768",
                        "kind": "string",
                        "nativeSrc": "25427:34:84",
                        "nodeType": "YulLiteral",
                        "src": "25427:34:84",
                        "type": "",
                        "value": "collateral/reward ratio too high"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25400:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25400:6:84"
                    },
                    "nativeSrc": "25400:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25400:62:84"
                  },
                  "nativeSrc": "25400:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25400:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25482:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25482:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25493:3:84",
                            "nodeType": "YulLiteral",
                            "src": "25493:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25478:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25478:3:84"
                        },
                        "nativeSrc": "25478:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25478:19:84"
                      },
                      {
                        "hexValue": "20283e31323729",
                        "kind": "string",
                        "nativeSrc": "25499:9:84",
                        "nodeType": "YulLiteral",
                        "src": "25499:9:84",
                        "type": "",
                        "value": " (>127)"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25471:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25471:6:84"
                    },
                    "nativeSrc": "25471:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25471:38:84"
                  },
                  "nativeSrc": "25471:38:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25471:38:84"
                },
                {
                  "nativeSrc": "25518:27:84",
                  "nodeType": "YulAssignment",
                  "src": "25518:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25530:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "25530:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25541:3:84",
                        "nodeType": "YulLiteral",
                        "src": "25541:3:84",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25526:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "25526:3:84"
                    },
                    "nativeSrc": "25526:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25526:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "25518:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "25518:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_c0c2d766eb577ea84b75f9fcb7c5378cb72bf766ceaac2e9f8dfcb263b607bcd__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "25076:475:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "25227:9:84",
                "nodeType": "YulTypedName",
                "src": "25227:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "25241:4:84",
                "nodeType": "YulTypedName",
                "src": "25241:4:84",
                "type": ""
              }
            ],
            "src": "25076:475:84"
          },
          {
            "body": {
              "nativeSrc": "25877:786:84",
              "nodeType": "YulBlock",
              "src": "25877:786:84",
              "statements": [
                {
                  "nativeSrc": "25887:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25887:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "25907:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "25907:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "25901:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "25901:5:84"
                    },
                    "nativeSrc": "25901:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25901:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "25891:6:84",
                      "nodeType": "YulTypedName",
                      "src": "25891:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "25962:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25962:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25970:4:84",
                            "nodeType": "YulLiteral",
                            "src": "25970:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25958:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25958:3:84"
                        },
                        "nativeSrc": "25958:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25958:17:84"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "25977:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "25977:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "25982:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "25982:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "25923:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "25923:34:84"
                    },
                    "nativeSrc": "25923:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25923:66:84"
                  },
                  "nativeSrc": "25923:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25923:66:84"
                },
                {
                  "nativeSrc": "25998:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25998:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "26015:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "26015:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "26020:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26020:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26011:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26011:3:84"
                    },
                    "nativeSrc": "26011:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26011:16:84"
                  },
                  "variables": [
                    {
                      "name": "end_1",
                      "nativeSrc": "26002:5:84",
                      "nodeType": "YulTypedName",
                      "src": "26002:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "26036:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26036:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "26058:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26058:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26052:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "26052:5:84"
                    },
                    "nativeSrc": "26052:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26052:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "26040:8:84",
                      "nodeType": "YulTypedName",
                      "src": "26040:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "26113:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26113:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26121:4:84",
                            "nodeType": "YulLiteral",
                            "src": "26121:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26109:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26109:3:84"
                        },
                        "nativeSrc": "26109:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26109:17:84"
                      },
                      {
                        "name": "end_1",
                        "nativeSrc": "26128:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "26128:5:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "26135:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "26135:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "26074:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "26074:34:84"
                    },
                    "nativeSrc": "26074:70:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26074:70:84"
                  },
                  "nativeSrc": "26074:70:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "26074:70:84"
                },
                {
                  "nativeSrc": "26153:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26153:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "26170:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "26170:5:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "26177:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "26177:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26166:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26166:3:84"
                    },
                    "nativeSrc": "26166:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26166:20:84"
                  },
                  "variables": [
                    {
                      "name": "end_2",
                      "nativeSrc": "26157:5:84",
                      "nodeType": "YulTypedName",
                      "src": "26157:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "26195:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26195:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "26217:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26217:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26211:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "26211:5:84"
                    },
                    "nativeSrc": "26211:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26211:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_2",
                      "nativeSrc": "26199:8:84",
                      "nodeType": "YulTypedName",
                      "src": "26199:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "26272:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26272:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26280:4:84",
                            "nodeType": "YulLiteral",
                            "src": "26280:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26268:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26268:3:84"
                        },
                        "nativeSrc": "26268:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26268:17:84"
                      },
                      {
                        "name": "end_2",
                        "nativeSrc": "26287:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "26287:5:84"
                      },
                      {
                        "name": "length_2",
                        "nativeSrc": "26294:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "26294:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "26233:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "26233:34:84"
                    },
                    "nativeSrc": "26233:70:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26233:70:84"
                  },
                  "nativeSrc": "26233:70:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "26233:70:84"
                },
                {
                  "nativeSrc": "26312:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26312:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_2",
                        "nativeSrc": "26329:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "26329:5:84"
                      },
                      {
                        "name": "length_2",
                        "nativeSrc": "26336:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "26336:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26325:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26325:3:84"
                    },
                    "nativeSrc": "26325:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26325:20:84"
                  },
                  "variables": [
                    {
                      "name": "end_3",
                      "nativeSrc": "26316:5:84",
                      "nodeType": "YulTypedName",
                      "src": "26316:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "26354:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26354:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value3",
                        "nativeSrc": "26376:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26376:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26370:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "26370:5:84"
                    },
                    "nativeSrc": "26370:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26370:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_3",
                      "nativeSrc": "26358:8:84",
                      "nodeType": "YulTypedName",
                      "src": "26358:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value3",
                            "nativeSrc": "26431:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26431:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26439:4:84",
                            "nodeType": "YulLiteral",
                            "src": "26439:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26427:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26427:3:84"
                        },
                        "nativeSrc": "26427:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26427:17:84"
                      },
                      {
                        "name": "end_3",
                        "nativeSrc": "26446:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "26446:5:84"
                      },
                      {
                        "name": "length_3",
                        "nativeSrc": "26453:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "26453:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "26392:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "26392:34:84"
                    },
                    "nativeSrc": "26392:70:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26392:70:84"
                  },
                  "nativeSrc": "26392:70:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "26392:70:84"
                },
                {
                  "nativeSrc": "26471:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26471:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_3",
                        "nativeSrc": "26488:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "26488:5:84"
                      },
                      {
                        "name": "length_3",
                        "nativeSrc": "26495:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "26495:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26484:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26484:3:84"
                    },
                    "nativeSrc": "26484:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26484:20:84"
                  },
                  "variables": [
                    {
                      "name": "end_4",
                      "nativeSrc": "26475:5:84",
                      "nodeType": "YulTypedName",
                      "src": "26475:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "26513:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26513:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value4",
                        "nativeSrc": "26535:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26535:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26529:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "26529:5:84"
                    },
                    "nativeSrc": "26529:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26529:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_4",
                      "nativeSrc": "26517:8:84",
                      "nodeType": "YulTypedName",
                      "src": "26517:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value4",
                            "nativeSrc": "26590:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26590:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26598:4:84",
                            "nodeType": "YulLiteral",
                            "src": "26598:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26586:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26586:3:84"
                        },
                        "nativeSrc": "26586:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26586:17:84"
                      },
                      {
                        "name": "end_4",
                        "nativeSrc": "26605:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "26605:5:84"
                      },
                      {
                        "name": "length_4",
                        "nativeSrc": "26612:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "26612:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "26551:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "26551:34:84"
                    },
                    "nativeSrc": "26551:70:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26551:70:84"
                  },
                  "nativeSrc": "26551:70:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "26551:70:84"
                },
                {
                  "nativeSrc": "26630:27:84",
                  "nodeType": "YulAssignment",
                  "src": "26630:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_4",
                        "nativeSrc": "26641:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "26641:5:84"
                      },
                      {
                        "name": "length_4",
                        "nativeSrc": "26648:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "26648:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26637:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26637:3:84"
                    },
                    "nativeSrc": "26637:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26637:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "26630:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26630:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "25556:1107:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "25821:3:84",
                "nodeType": "YulTypedName",
                "src": "25821:3:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "25826:6:84",
                "nodeType": "YulTypedName",
                "src": "25826:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "25834:6:84",
                "nodeType": "YulTypedName",
                "src": "25834:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "25842:6:84",
                "nodeType": "YulTypedName",
                "src": "25842:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "25850:6:84",
                "nodeType": "YulTypedName",
                "src": "25850:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "25858:6:84",
                "nodeType": "YulTypedName",
                "src": "25858:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "25869:3:84",
                "nodeType": "YulTypedName",
                "src": "25869:3:84",
                "type": ""
              }
            ],
            "src": "25556:1107:84"
          },
          {
            "body": {
              "nativeSrc": "26829:224:84",
              "nodeType": "YulBlock",
              "src": "26829:224:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "26846:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "26846:3:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "26859:3:84",
                                "nodeType": "YulLiteral",
                                "src": "26859:3:84",
                                "type": "",
                                "value": "248"
                              },
                              {
                                "name": "value0",
                                "nativeSrc": "26864:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "26864:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "26855:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26855:3:84"
                            },
                            "nativeSrc": "26855:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "26855:16:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "26877:3:84",
                                "nodeType": "YulLiteral",
                                "src": "26877:3:84",
                                "type": "",
                                "value": "248"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "26882:3:84",
                                "nodeType": "YulLiteral",
                                "src": "26882:3:84",
                                "type": "",
                                "value": "255"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "26873:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26873:3:84"
                            },
                            "nativeSrc": "26873:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "26873:13:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "26851:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26851:3:84"
                        },
                        "nativeSrc": "26851:36:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26851:36:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26839:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "26839:6:84"
                    },
                    "nativeSrc": "26839:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26839:49:84"
                  },
                  "nativeSrc": "26839:49:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "26839:49:84"
                },
                {
                  "nativeSrc": "26897:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26897:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "26917:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26917:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26911:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "26911:5:84"
                    },
                    "nativeSrc": "26911:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26911:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "26901:6:84",
                      "nodeType": "YulTypedName",
                      "src": "26901:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "26972:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26972:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26980:4:84",
                            "nodeType": "YulLiteral",
                            "src": "26980:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26968:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26968:3:84"
                        },
                        "nativeSrc": "26968:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26968:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "26991:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "26991:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26996:1:84",
                            "nodeType": "YulLiteral",
                            "src": "26996:1:84",
                            "type": "",
                            "value": "1"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26987:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26987:3:84"
                        },
                        "nativeSrc": "26987:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26987:11:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "27000:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "27000:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "26933:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "26933:34:84"
                    },
                    "nativeSrc": "26933:74:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26933:74:84"
                  },
                  "nativeSrc": "26933:74:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "26933:74:84"
                },
                {
                  "nativeSrc": "27016:31:84",
                  "nodeType": "YulAssignment",
                  "src": "27016:31:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "27031:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "27031:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "27036:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "27036:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27027:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "27027:3:84"
                        },
                        "nativeSrc": "27027:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "27027:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27045:1:84",
                        "nodeType": "YulLiteral",
                        "src": "27045:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "27023:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27023:3:84"
                    },
                    "nativeSrc": "27023:24:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27023:24:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "27016:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27016:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_uint8_t_bytes_memory_ptr__to_t_uint8_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "26668:385:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "26797:3:84",
                "nodeType": "YulTypedName",
                "src": "26797:3:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "26802:6:84",
                "nodeType": "YulTypedName",
                "src": "26802:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "26810:6:84",
                "nodeType": "YulTypedName",
                "src": "26810:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "26821:3:84",
                "nodeType": "YulTypedName",
                "src": "26821:3:84",
                "type": ""
              }
            ],
            "src": "26668:385:84"
          },
          {
            "body": {
              "nativeSrc": "27173:92:84",
              "nodeType": "YulBlock",
              "src": "27173:92:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "27190:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "27190:3:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "27203:3:84",
                                "nodeType": "YulLiteral",
                                "src": "27203:3:84",
                                "type": "",
                                "value": "248"
                              },
                              {
                                "name": "value0",
                                "nativeSrc": "27208:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "27208:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "27199:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "27199:3:84"
                            },
                            "nativeSrc": "27199:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "27199:16:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "27221:3:84",
                                "nodeType": "YulLiteral",
                                "src": "27221:3:84",
                                "type": "",
                                "value": "248"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "27226:3:84",
                                "nodeType": "YulLiteral",
                                "src": "27226:3:84",
                                "type": "",
                                "value": "255"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "27217:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "27217:3:84"
                            },
                            "nativeSrc": "27217:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "27217:13:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "27195:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "27195:3:84"
                        },
                        "nativeSrc": "27195:36:84",
                        "nodeType": "YulFunctionCall",
                        "src": "27195:36:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27183:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "27183:6:84"
                    },
                    "nativeSrc": "27183:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27183:49:84"
                  },
                  "nativeSrc": "27183:49:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "27183:49:84"
                },
                {
                  "nativeSrc": "27241:18:84",
                  "nodeType": "YulAssignment",
                  "src": "27241:18:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "27252:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "27252:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27257:1:84",
                        "nodeType": "YulLiteral",
                        "src": "27257:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "27248:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27248:3:84"
                    },
                    "nativeSrc": "27248:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27248:11:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "27241:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27241:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_uint8__to_t_uint8__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "27058:207:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "27149:3:84",
                "nodeType": "YulTypedName",
                "src": "27149:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "27154:6:84",
                "nodeType": "YulTypedName",
                "src": "27154:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "27165:3:84",
                "nodeType": "YulTypedName",
                "src": "27165:3:84",
                "type": ""
              }
            ],
            "src": "27058:207:84"
          },
          {
            "body": {
              "nativeSrc": "27387:94:84",
              "nodeType": "YulBlock",
              "src": "27387:94:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "27404:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "27404:3:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "27417:3:84",
                                "nodeType": "YulLiteral",
                                "src": "27417:3:84",
                                "type": "",
                                "value": "240"
                              },
                              {
                                "name": "value0",
                                "nativeSrc": "27422:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "27422:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "27413:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "27413:3:84"
                            },
                            "nativeSrc": "27413:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "27413:16:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "27435:3:84",
                                "nodeType": "YulLiteral",
                                "src": "27435:3:84",
                                "type": "",
                                "value": "240"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "27440:5:84",
                                "nodeType": "YulLiteral",
                                "src": "27440:5:84",
                                "type": "",
                                "value": "65535"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "27431:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "27431:3:84"
                            },
                            "nativeSrc": "27431:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "27431:15:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "27409:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "27409:3:84"
                        },
                        "nativeSrc": "27409:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "27409:38:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27397:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "27397:6:84"
                    },
                    "nativeSrc": "27397:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27397:51:84"
                  },
                  "nativeSrc": "27397:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "27397:51:84"
                },
                {
                  "nativeSrc": "27457:18:84",
                  "nodeType": "YulAssignment",
                  "src": "27457:18:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "27468:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "27468:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27473:1:84",
                        "nodeType": "YulLiteral",
                        "src": "27473:1:84",
                        "type": "",
                        "value": "2"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "27464:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27464:3:84"
                    },
                    "nativeSrc": "27464:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27464:11:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "27457:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27457:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_uint16__to_t_uint16__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "27270:211:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "27363:3:84",
                "nodeType": "YulTypedName",
                "src": "27363:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "27368:6:84",
                "nodeType": "YulTypedName",
                "src": "27368:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "27379:3:84",
                "nodeType": "YulTypedName",
                "src": "27379:3:84",
                "type": ""
              }
            ],
            "src": "27270:211:84"
          },
          {
            "body": {
              "nativeSrc": "27603:99:84",
              "nodeType": "YulBlock",
              "src": "27603:99:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "27620:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "27620:3:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "27633:3:84",
                                "nodeType": "YulLiteral",
                                "src": "27633:3:84",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "name": "value0",
                                "nativeSrc": "27638:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "27638:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "27629:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "27629:3:84"
                            },
                            "nativeSrc": "27629:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "27629:16:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "27651:3:84",
                                "nodeType": "YulLiteral",
                                "src": "27651:3:84",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "27656:10:84",
                                "nodeType": "YulLiteral",
                                "src": "27656:10:84",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "27647:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "27647:3:84"
                            },
                            "nativeSrc": "27647:20:84",
                            "nodeType": "YulFunctionCall",
                            "src": "27647:20:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "27625:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "27625:3:84"
                        },
                        "nativeSrc": "27625:43:84",
                        "nodeType": "YulFunctionCall",
                        "src": "27625:43:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27613:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "27613:6:84"
                    },
                    "nativeSrc": "27613:56:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27613:56:84"
                  },
                  "nativeSrc": "27613:56:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "27613:56:84"
                },
                {
                  "nativeSrc": "27678:18:84",
                  "nodeType": "YulAssignment",
                  "src": "27678:18:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "27689:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "27689:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27694:1:84",
                        "nodeType": "YulLiteral",
                        "src": "27694:1:84",
                        "type": "",
                        "value": "4"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "27685:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27685:3:84"
                    },
                    "nativeSrc": "27685:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27685:11:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "27678:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27678:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_uint32__to_t_uint32__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "27486:216:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "27579:3:84",
                "nodeType": "YulTypedName",
                "src": "27579:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "27584:6:84",
                "nodeType": "YulTypedName",
                "src": "27584:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "27595:3:84",
                "nodeType": "YulTypedName",
                "src": "27595:3:84",
                "type": ""
              }
            ],
            "src": "27486:216:84"
          },
          {
            "body": {
              "nativeSrc": "27824:107:84",
              "nodeType": "YulBlock",
              "src": "27824:107:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "27841:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "27841:3:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "27854:3:84",
                                "nodeType": "YulLiteral",
                                "src": "27854:3:84",
                                "type": "",
                                "value": "192"
                              },
                              {
                                "name": "value0",
                                "nativeSrc": "27859:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "27859:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "27850:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "27850:3:84"
                            },
                            "nativeSrc": "27850:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "27850:16:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "27872:3:84",
                                "nodeType": "YulLiteral",
                                "src": "27872:3:84",
                                "type": "",
                                "value": "192"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "27877:18:84",
                                "nodeType": "YulLiteral",
                                "src": "27877:18:84",
                                "type": "",
                                "value": "0xffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "27868:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "27868:3:84"
                            },
                            "nativeSrc": "27868:28:84",
                            "nodeType": "YulFunctionCall",
                            "src": "27868:28:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "27846:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "27846:3:84"
                        },
                        "nativeSrc": "27846:51:84",
                        "nodeType": "YulFunctionCall",
                        "src": "27846:51:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27834:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "27834:6:84"
                    },
                    "nativeSrc": "27834:64:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27834:64:84"
                  },
                  "nativeSrc": "27834:64:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "27834:64:84"
                },
                {
                  "nativeSrc": "27907:18:84",
                  "nodeType": "YulAssignment",
                  "src": "27907:18:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "27918:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "27918:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27923:1:84",
                        "nodeType": "YulLiteral",
                        "src": "27923:1:84",
                        "type": "",
                        "value": "8"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "27914:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27914:3:84"
                    },
                    "nativeSrc": "27914:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27914:11:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "27907:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27907:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_uint64__to_t_uint64__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "27707:224:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "27800:3:84",
                "nodeType": "YulTypedName",
                "src": "27800:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "27805:6:84",
                "nodeType": "YulTypedName",
                "src": "27805:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "27816:3:84",
                "nodeType": "YulTypedName",
                "src": "27816:3:84",
                "type": ""
              }
            ],
            "src": "27707:224:84"
          },
          {
            "body": {
              "nativeSrc": "28143:382:84",
              "nodeType": "YulBlock",
              "src": "28143:382:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "28160:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "28160:3:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "28173:3:84",
                                "nodeType": "YulLiteral",
                                "src": "28173:3:84",
                                "type": "",
                                "value": "248"
                              },
                              {
                                "name": "value0",
                                "nativeSrc": "28178:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "28178:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "28169:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "28169:3:84"
                            },
                            "nativeSrc": "28169:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "28169:16:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "28191:3:84",
                                "nodeType": "YulLiteral",
                                "src": "28191:3:84",
                                "type": "",
                                "value": "248"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "28196:3:84",
                                "nodeType": "YulLiteral",
                                "src": "28196:3:84",
                                "type": "",
                                "value": "255"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "28187:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "28187:3:84"
                            },
                            "nativeSrc": "28187:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "28187:13:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "28165:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28165:3:84"
                        },
                        "nativeSrc": "28165:36:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28165:36:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28153:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28153:6:84"
                    },
                    "nativeSrc": "28153:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28153:49:84"
                  },
                  "nativeSrc": "28153:49:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28153:49:84"
                },
                {
                  "nativeSrc": "28211:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28211:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "28231:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28231:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "28225:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "28225:5:84"
                    },
                    "nativeSrc": "28225:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28225:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "28215:6:84",
                      "nodeType": "YulTypedName",
                      "src": "28215:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "28286:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28286:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28294:4:84",
                            "nodeType": "YulLiteral",
                            "src": "28294:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28282:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28282:3:84"
                        },
                        "nativeSrc": "28282:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28282:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "28305:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "28305:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28310:1:84",
                            "nodeType": "YulLiteral",
                            "src": "28310:1:84",
                            "type": "",
                            "value": "1"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28301:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28301:3:84"
                        },
                        "nativeSrc": "28301:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28301:11:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "28314:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28314:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "28247:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "28247:34:84"
                    },
                    "nativeSrc": "28247:74:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28247:74:84"
                  },
                  "nativeSrc": "28247:74:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28247:74:84"
                },
                {
                  "nativeSrc": "28330:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28330:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "28344:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "28344:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "28349:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28349:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28340:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28340:3:84"
                    },
                    "nativeSrc": "28340:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28340:16:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "28334:2:84",
                      "nodeType": "YulTypedName",
                      "src": "28334:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "28365:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28365:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "28387:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28387:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "28381:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "28381:5:84"
                    },
                    "nativeSrc": "28381:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28381:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "28369:8:84",
                      "nodeType": "YulTypedName",
                      "src": "28369:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "28442:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28442:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28450:4:84",
                            "nodeType": "YulLiteral",
                            "src": "28450:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28438:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28438:3:84"
                        },
                        "nativeSrc": "28438:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28438:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "28461:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "28461:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28465:1:84",
                            "nodeType": "YulLiteral",
                            "src": "28465:1:84",
                            "type": "",
                            "value": "1"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28457:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28457:3:84"
                        },
                        "nativeSrc": "28457:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28457:10:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "28469:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "28469:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "28403:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "28403:34:84"
                    },
                    "nativeSrc": "28403:75:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28403:75:84"
                  },
                  "nativeSrc": "28403:75:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28403:75:84"
                },
                {
                  "nativeSrc": "28487:32:84",
                  "nodeType": "YulAssignment",
                  "src": "28487:32:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "28502:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "28502:2:84"
                          },
                          {
                            "name": "length_1",
                            "nativeSrc": "28506:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "28506:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28498:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28498:3:84"
                        },
                        "nativeSrc": "28498:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28498:17:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28517:1:84",
                        "nodeType": "YulLiteral",
                        "src": "28517:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28494:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28494:3:84"
                    },
                    "nativeSrc": "28494:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28494:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "28487:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28487:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_uint8_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_uint8_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "27936:589:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "28103:3:84",
                "nodeType": "YulTypedName",
                "src": "28103:3:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "28108:6:84",
                "nodeType": "YulTypedName",
                "src": "28108:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "28116:6:84",
                "nodeType": "YulTypedName",
                "src": "28116:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "28124:6:84",
                "nodeType": "YulTypedName",
                "src": "28124:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "28135:3:84",
                "nodeType": "YulTypedName",
                "src": "28135:3:84",
                "type": ""
              }
            ],
            "src": "27936:589:84"
          },
          {
            "body": {
              "nativeSrc": "28673:152:84",
              "nodeType": "YulBlock",
              "src": "28673:152:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28690:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "28690:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "28705:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28705:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28713:4:84",
                            "nodeType": "YulLiteral",
                            "src": "28713:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "28701:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28701:3:84"
                        },
                        "nativeSrc": "28701:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28701:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28683:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28683:6:84"
                    },
                    "nativeSrc": "28683:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28683:36:84"
                  },
                  "nativeSrc": "28683:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28683:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28739:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28739:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28750:2:84",
                            "nodeType": "YulLiteral",
                            "src": "28750:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28735:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28735:3:84"
                        },
                        "nativeSrc": "28735:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28735:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28755:2:84",
                        "nodeType": "YulLiteral",
                        "src": "28755:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28728:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28728:6:84"
                    },
                    "nativeSrc": "28728:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28728:30:84"
                  },
                  "nativeSrc": "28728:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28728:30:84"
                },
                {
                  "nativeSrc": "28767:52:84",
                  "nodeType": "YulAssignment",
                  "src": "28767:52:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "28792:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28792:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28804:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28804:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28815:2:84",
                            "nodeType": "YulLiteral",
                            "src": "28815:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28800:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28800:3:84"
                        },
                        "nativeSrc": "28800:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28800:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "28775:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "28775:16:84"
                    },
                    "nativeSrc": "28775:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28775:44:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "28767:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "28767:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8_t_bytes_memory_ptr__to_t_uint8_t_bytes_memory_ptr__fromStack_reversed",
            "nativeSrc": "28530:295:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "28634:9:84",
                "nodeType": "YulTypedName",
                "src": "28634:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "28645:6:84",
                "nodeType": "YulTypedName",
                "src": "28645:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "28653:6:84",
                "nodeType": "YulTypedName",
                "src": "28653:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "28664:4:84",
                "nodeType": "YulTypedName",
                "src": "28664:4:84",
                "type": ""
              }
            ],
            "src": "28530:295:84"
          },
          {
            "body": {
              "nativeSrc": "28927:87:84",
              "nodeType": "YulBlock",
              "src": "28927:87:84",
              "statements": [
                {
                  "nativeSrc": "28937:26:84",
                  "nodeType": "YulAssignment",
                  "src": "28937:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28949:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "28949:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28960:2:84",
                        "nodeType": "YulLiteral",
                        "src": "28960:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28945:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28945:3:84"
                    },
                    "nativeSrc": "28945:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28945:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "28937:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "28937:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28979:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "28979:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "28994:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28994:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29002:4:84",
                            "nodeType": "YulLiteral",
                            "src": "29002:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "28990:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28990:3:84"
                        },
                        "nativeSrc": "28990:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28990:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28972:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28972:6:84"
                    },
                    "nativeSrc": "28972:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28972:36:84"
                  },
                  "nativeSrc": "28972:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28972:36:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed",
            "nativeSrc": "28830:184:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "28896:9:84",
                "nodeType": "YulTypedName",
                "src": "28896:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "28907:6:84",
                "nodeType": "YulTypedName",
                "src": "28907:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "28918:4:84",
                "nodeType": "YulTypedName",
                "src": "28918:4:84",
                "type": ""
              }
            ],
            "src": "28830:184:84"
          },
          {
            "body": {
              "nativeSrc": "29294:627:84",
              "nodeType": "YulBlock",
              "src": "29294:627:84",
              "statements": [
                {
                  "nativeSrc": "29304:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29304:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "29324:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29324:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "29318:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "29318:5:84"
                    },
                    "nativeSrc": "29318:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29318:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "29308:6:84",
                      "nodeType": "YulTypedName",
                      "src": "29308:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "29379:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "29379:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29387:4:84",
                            "nodeType": "YulLiteral",
                            "src": "29387:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29375:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29375:3:84"
                        },
                        "nativeSrc": "29375:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29375:17:84"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "29394:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "29394:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "29399:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29399:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "29340:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "29340:34:84"
                    },
                    "nativeSrc": "29340:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29340:66:84"
                  },
                  "nativeSrc": "29340:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29340:66:84"
                },
                {
                  "nativeSrc": "29415:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29415:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "29432:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "29432:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "29437:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29437:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29428:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29428:3:84"
                    },
                    "nativeSrc": "29428:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29428:16:84"
                  },
                  "variables": [
                    {
                      "name": "end_1",
                      "nativeSrc": "29419:5:84",
                      "nodeType": "YulTypedName",
                      "src": "29419:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "29453:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29453:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "29475:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29475:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "29469:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "29469:5:84"
                    },
                    "nativeSrc": "29469:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29469:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "29457:8:84",
                      "nodeType": "YulTypedName",
                      "src": "29457:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "29530:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "29530:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29538:4:84",
                            "nodeType": "YulLiteral",
                            "src": "29538:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29526:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29526:3:84"
                        },
                        "nativeSrc": "29526:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29526:17:84"
                      },
                      {
                        "name": "end_1",
                        "nativeSrc": "29545:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "29545:5:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "29552:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "29552:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "29491:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "29491:34:84"
                    },
                    "nativeSrc": "29491:70:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29491:70:84"
                  },
                  "nativeSrc": "29491:70:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29491:70:84"
                },
                {
                  "nativeSrc": "29570:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29570:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "29587:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "29587:5:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "29594:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "29594:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29583:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29583:3:84"
                    },
                    "nativeSrc": "29583:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29583:20:84"
                  },
                  "variables": [
                    {
                      "name": "end_2",
                      "nativeSrc": "29574:5:84",
                      "nodeType": "YulTypedName",
                      "src": "29574:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "29612:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29612:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "29634:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29634:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "29628:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "29628:5:84"
                    },
                    "nativeSrc": "29628:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29628:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_2",
                      "nativeSrc": "29616:8:84",
                      "nodeType": "YulTypedName",
                      "src": "29616:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "29689:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "29689:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29697:4:84",
                            "nodeType": "YulLiteral",
                            "src": "29697:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29685:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29685:3:84"
                        },
                        "nativeSrc": "29685:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29685:17:84"
                      },
                      {
                        "name": "end_2",
                        "nativeSrc": "29704:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "29704:5:84"
                      },
                      {
                        "name": "length_2",
                        "nativeSrc": "29711:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "29711:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "29650:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "29650:34:84"
                    },
                    "nativeSrc": "29650:70:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29650:70:84"
                  },
                  "nativeSrc": "29650:70:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29650:70:84"
                },
                {
                  "nativeSrc": "29729:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29729:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_2",
                        "nativeSrc": "29746:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "29746:5:84"
                      },
                      {
                        "name": "length_2",
                        "nativeSrc": "29753:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "29753:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29742:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29742:3:84"
                    },
                    "nativeSrc": "29742:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29742:20:84"
                  },
                  "variables": [
                    {
                      "name": "end_3",
                      "nativeSrc": "29733:5:84",
                      "nodeType": "YulTypedName",
                      "src": "29733:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "29771:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29771:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value3",
                        "nativeSrc": "29793:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29793:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "29787:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "29787:5:84"
                    },
                    "nativeSrc": "29787:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29787:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_3",
                      "nativeSrc": "29775:8:84",
                      "nodeType": "YulTypedName",
                      "src": "29775:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value3",
                            "nativeSrc": "29848:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "29848:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29856:4:84",
                            "nodeType": "YulLiteral",
                            "src": "29856:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29844:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29844:3:84"
                        },
                        "nativeSrc": "29844:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29844:17:84"
                      },
                      {
                        "name": "end_3",
                        "nativeSrc": "29863:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "29863:5:84"
                      },
                      {
                        "name": "length_3",
                        "nativeSrc": "29870:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "29870:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "29809:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "29809:34:84"
                    },
                    "nativeSrc": "29809:70:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29809:70:84"
                  },
                  "nativeSrc": "29809:70:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29809:70:84"
                },
                {
                  "nativeSrc": "29888:27:84",
                  "nodeType": "YulAssignment",
                  "src": "29888:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_3",
                        "nativeSrc": "29899:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "29899:5:84"
                      },
                      {
                        "name": "length_3",
                        "nativeSrc": "29906:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "29906:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29895:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29895:3:84"
                    },
                    "nativeSrc": "29895:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29895:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "29888:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29888:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "29019:902:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "29246:3:84",
                "nodeType": "YulTypedName",
                "src": "29246:3:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "29251:6:84",
                "nodeType": "YulTypedName",
                "src": "29251:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "29259:6:84",
                "nodeType": "YulTypedName",
                "src": "29259:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "29267:6:84",
                "nodeType": "YulTypedName",
                "src": "29267:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "29275:6:84",
                "nodeType": "YulTypedName",
                "src": "29275:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "29286:3:84",
                "nodeType": "YulTypedName",
                "src": "29286:3:84",
                "type": ""
              }
            ],
            "src": "29019:902:84"
          },
          {
            "body": {
              "nativeSrc": "30155:468:84",
              "nodeType": "YulBlock",
              "src": "30155:468:84",
              "statements": [
                {
                  "nativeSrc": "30165:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30165:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "30185:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "30185:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "30179:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "30179:5:84"
                    },
                    "nativeSrc": "30179:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30179:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "30169:6:84",
                      "nodeType": "YulTypedName",
                      "src": "30169:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "30240:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "30240:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30248:4:84",
                            "nodeType": "YulLiteral",
                            "src": "30248:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30236:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30236:3:84"
                        },
                        "nativeSrc": "30236:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30236:17:84"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "30255:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "30255:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "30260:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "30260:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "30201:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "30201:34:84"
                    },
                    "nativeSrc": "30201:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30201:66:84"
                  },
                  "nativeSrc": "30201:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30201:66:84"
                },
                {
                  "nativeSrc": "30276:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30276:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "30293:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "30293:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "30298:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "30298:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "30289:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30289:3:84"
                    },
                    "nativeSrc": "30289:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30289:16:84"
                  },
                  "variables": [
                    {
                      "name": "end_1",
                      "nativeSrc": "30280:5:84",
                      "nodeType": "YulTypedName",
                      "src": "30280:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "30314:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30314:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "30336:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "30336:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "30330:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "30330:5:84"
                    },
                    "nativeSrc": "30330:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30330:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "30318:8:84",
                      "nodeType": "YulTypedName",
                      "src": "30318:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "30391:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "30391:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30399:4:84",
                            "nodeType": "YulLiteral",
                            "src": "30399:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30387:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30387:3:84"
                        },
                        "nativeSrc": "30387:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30387:17:84"
                      },
                      {
                        "name": "end_1",
                        "nativeSrc": "30406:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "30406:5:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "30413:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "30413:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "30352:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "30352:34:84"
                    },
                    "nativeSrc": "30352:70:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30352:70:84"
                  },
                  "nativeSrc": "30352:70:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30352:70:84"
                },
                {
                  "nativeSrc": "30431:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30431:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "30448:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "30448:5:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "30455:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "30455:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "30444:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30444:3:84"
                    },
                    "nativeSrc": "30444:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30444:20:84"
                  },
                  "variables": [
                    {
                      "name": "end_2",
                      "nativeSrc": "30435:5:84",
                      "nodeType": "YulTypedName",
                      "src": "30435:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "30473:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30473:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "30495:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "30495:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "30489:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "30489:5:84"
                    },
                    "nativeSrc": "30489:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30489:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_2",
                      "nativeSrc": "30477:8:84",
                      "nodeType": "YulTypedName",
                      "src": "30477:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "30550:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "30550:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30558:4:84",
                            "nodeType": "YulLiteral",
                            "src": "30558:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30546:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30546:3:84"
                        },
                        "nativeSrc": "30546:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30546:17:84"
                      },
                      {
                        "name": "end_2",
                        "nativeSrc": "30565:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "30565:5:84"
                      },
                      {
                        "name": "length_2",
                        "nativeSrc": "30572:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "30572:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "30511:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "30511:34:84"
                    },
                    "nativeSrc": "30511:70:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30511:70:84"
                  },
                  "nativeSrc": "30511:70:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30511:70:84"
                },
                {
                  "nativeSrc": "30590:27:84",
                  "nodeType": "YulAssignment",
                  "src": "30590:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_2",
                        "nativeSrc": "30601:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "30601:5:84"
                      },
                      {
                        "name": "length_2",
                        "nativeSrc": "30608:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "30608:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "30597:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30597:3:84"
                    },
                    "nativeSrc": "30597:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30597:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "30590:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30590:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "29926:697:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "30115:3:84",
                "nodeType": "YulTypedName",
                "src": "30115:3:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "30120:6:84",
                "nodeType": "YulTypedName",
                "src": "30120:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "30128:6:84",
                "nodeType": "YulTypedName",
                "src": "30128:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "30136:6:84",
                "nodeType": "YulTypedName",
                "src": "30136:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "30147:3:84",
                "nodeType": "YulTypedName",
                "src": "30147:3:84",
                "type": ""
              }
            ],
            "src": "29926:697:84"
          },
          {
            "body": {
              "nativeSrc": "30676:77:84",
              "nodeType": "YulBlock",
              "src": "30676:77:84",
              "statements": [
                {
                  "nativeSrc": "30686:16:84",
                  "nodeType": "YulAssignment",
                  "src": "30686:16:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "30697:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "30697:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "30700:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "30700:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "30693:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30693:3:84"
                    },
                    "nativeSrc": "30693:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30693:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "30686:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30686:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "30725:22:84",
                    "nodeType": "YulBlock",
                    "src": "30725:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "30727:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "30727:16:84"
                          },
                          "nativeSrc": "30727:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "30727:18:84"
                        },
                        "nativeSrc": "30727:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "30727:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "30717:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "30717:1:84"
                      },
                      {
                        "name": "sum",
                        "nativeSrc": "30720:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "30720:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "30714:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "30714:2:84"
                    },
                    "nativeSrc": "30714:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30714:10:84"
                  },
                  "nativeSrc": "30711:36:84",
                  "nodeType": "YulIf",
                  "src": "30711:36:84"
                }
              ]
            },
            "name": "checked_add_t_uint256",
            "nativeSrc": "30628:125:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "30659:1:84",
                "nodeType": "YulTypedName",
                "src": "30659:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "30662:1:84",
                "nodeType": "YulTypedName",
                "src": "30662:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "30668:3:84",
                "nodeType": "YulTypedName",
                "src": "30668:3:84",
                "type": ""
              }
            ],
            "src": "30628:125:84"
          },
          {
            "body": {
              "nativeSrc": "31125:956:84",
              "nodeType": "YulBlock",
              "src": "31125:956:84",
              "statements": [
                {
                  "nativeSrc": "31135:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31135:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "31155:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "31155:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "31149:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "31149:5:84"
                    },
                    "nativeSrc": "31149:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31149:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "31139:6:84",
                      "nodeType": "YulTypedName",
                      "src": "31139:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "31171:14:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31171:14:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "31181:4:84",
                    "nodeType": "YulLiteral",
                    "src": "31181:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "31175:2:84",
                      "nodeType": "YulTypedName",
                      "src": "31175:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "31233:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31233:6:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "31241:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "31241:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31229:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31229:3:84"
                        },
                        "nativeSrc": "31229:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31229:15:84"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "31246:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "31246:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "31251:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "31251:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "31194:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "31194:34:84"
                    },
                    "nativeSrc": "31194:64:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31194:64:84"
                  },
                  "nativeSrc": "31194:64:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "31194:64:84"
                },
                {
                  "nativeSrc": "31267:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31267:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "31284:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "31284:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "31289:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "31289:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "31280:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "31280:3:84"
                    },
                    "nativeSrc": "31280:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31280:16:84"
                  },
                  "variables": [
                    {
                      "name": "end_1",
                      "nativeSrc": "31271:5:84",
                      "nodeType": "YulTypedName",
                      "src": "31271:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "31305:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31305:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "31327:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "31327:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "31321:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "31321:5:84"
                    },
                    "nativeSrc": "31321:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31321:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "31309:8:84",
                      "nodeType": "YulTypedName",
                      "src": "31309:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "31382:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31382:6:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "31390:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "31390:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31378:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31378:3:84"
                        },
                        "nativeSrc": "31378:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31378:15:84"
                      },
                      {
                        "name": "end_1",
                        "nativeSrc": "31395:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "31395:5:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "31402:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "31402:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "31343:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "31343:34:84"
                    },
                    "nativeSrc": "31343:68:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31343:68:84"
                  },
                  "nativeSrc": "31343:68:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "31343:68:84"
                },
                {
                  "nativeSrc": "31420:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31420:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "31437:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "31437:5:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "31444:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "31444:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "31433:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "31433:3:84"
                    },
                    "nativeSrc": "31433:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31433:20:84"
                  },
                  "variables": [
                    {
                      "name": "end_2",
                      "nativeSrc": "31424:5:84",
                      "nodeType": "YulTypedName",
                      "src": "31424:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "31462:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31462:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "31484:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "31484:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "31478:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "31478:5:84"
                    },
                    "nativeSrc": "31478:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31478:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_2",
                      "nativeSrc": "31466:8:84",
                      "nodeType": "YulTypedName",
                      "src": "31466:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "31539:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31539:6:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "31547:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "31547:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31535:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31535:3:84"
                        },
                        "nativeSrc": "31535:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31535:15:84"
                      },
                      {
                        "name": "end_2",
                        "nativeSrc": "31552:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "31552:5:84"
                      },
                      {
                        "name": "length_2",
                        "nativeSrc": "31559:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "31559:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "31500:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "31500:34:84"
                    },
                    "nativeSrc": "31500:68:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31500:68:84"
                  },
                  "nativeSrc": "31500:68:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "31500:68:84"
                },
                {
                  "nativeSrc": "31577:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31577:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_2",
                        "nativeSrc": "31594:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "31594:5:84"
                      },
                      {
                        "name": "length_2",
                        "nativeSrc": "31601:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "31601:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "31590:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "31590:3:84"
                    },
                    "nativeSrc": "31590:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31590:20:84"
                  },
                  "variables": [
                    {
                      "name": "end_3",
                      "nativeSrc": "31581:5:84",
                      "nodeType": "YulTypedName",
                      "src": "31581:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "31619:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31619:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value3",
                        "nativeSrc": "31641:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "31641:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "31635:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "31635:5:84"
                    },
                    "nativeSrc": "31635:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31635:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_3",
                      "nativeSrc": "31623:8:84",
                      "nodeType": "YulTypedName",
                      "src": "31623:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value3",
                            "nativeSrc": "31696:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31696:6:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "31704:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "31704:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31692:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31692:3:84"
                        },
                        "nativeSrc": "31692:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31692:15:84"
                      },
                      {
                        "name": "end_3",
                        "nativeSrc": "31709:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "31709:5:84"
                      },
                      {
                        "name": "length_3",
                        "nativeSrc": "31716:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "31716:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "31657:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "31657:34:84"
                    },
                    "nativeSrc": "31657:68:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31657:68:84"
                  },
                  "nativeSrc": "31657:68:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "31657:68:84"
                },
                {
                  "nativeSrc": "31734:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31734:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_3",
                        "nativeSrc": "31751:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "31751:5:84"
                      },
                      {
                        "name": "length_3",
                        "nativeSrc": "31758:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "31758:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "31747:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "31747:3:84"
                    },
                    "nativeSrc": "31747:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31747:20:84"
                  },
                  "variables": [
                    {
                      "name": "end_4",
                      "nativeSrc": "31738:5:84",
                      "nodeType": "YulTypedName",
                      "src": "31738:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "31776:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31776:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value4",
                        "nativeSrc": "31798:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "31798:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "31792:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "31792:5:84"
                    },
                    "nativeSrc": "31792:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31792:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_4",
                      "nativeSrc": "31780:8:84",
                      "nodeType": "YulTypedName",
                      "src": "31780:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value4",
                            "nativeSrc": "31853:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31853:6:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "31861:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "31861:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31849:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31849:3:84"
                        },
                        "nativeSrc": "31849:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31849:15:84"
                      },
                      {
                        "name": "end_4",
                        "nativeSrc": "31866:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "31866:5:84"
                      },
                      {
                        "name": "length_4",
                        "nativeSrc": "31873:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "31873:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "31814:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "31814:34:84"
                    },
                    "nativeSrc": "31814:68:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31814:68:84"
                  },
                  "nativeSrc": "31814:68:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "31814:68:84"
                },
                {
                  "nativeSrc": "31891:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31891:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_4",
                        "nativeSrc": "31908:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "31908:5:84"
                      },
                      {
                        "name": "length_4",
                        "nativeSrc": "31915:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "31915:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "31904:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "31904:3:84"
                    },
                    "nativeSrc": "31904:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31904:20:84"
                  },
                  "variables": [
                    {
                      "name": "end_5",
                      "nativeSrc": "31895:5:84",
                      "nodeType": "YulTypedName",
                      "src": "31895:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "31933:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31933:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value5",
                        "nativeSrc": "31955:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "31955:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "31949:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "31949:5:84"
                    },
                    "nativeSrc": "31949:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31949:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_5",
                      "nativeSrc": "31937:8:84",
                      "nodeType": "YulTypedName",
                      "src": "31937:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value5",
                            "nativeSrc": "32010:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "32010:6:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "32018:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "32018:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32006:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32006:3:84"
                        },
                        "nativeSrc": "32006:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32006:15:84"
                      },
                      {
                        "name": "end_5",
                        "nativeSrc": "32023:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "32023:5:84"
                      },
                      {
                        "name": "length_5",
                        "nativeSrc": "32030:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "32030:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "31971:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "31971:34:84"
                    },
                    "nativeSrc": "31971:68:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31971:68:84"
                  },
                  "nativeSrc": "31971:68:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "31971:68:84"
                },
                {
                  "nativeSrc": "32048:27:84",
                  "nodeType": "YulAssignment",
                  "src": "32048:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_5",
                        "nativeSrc": "32059:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "32059:5:84"
                      },
                      {
                        "name": "length_5",
                        "nativeSrc": "32066:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "32066:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "32055:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "32055:3:84"
                    },
                    "nativeSrc": "32055:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32055:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "32048:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "32048:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "30758:1323:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "31061:3:84",
                "nodeType": "YulTypedName",
                "src": "31061:3:84",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "31066:6:84",
                "nodeType": "YulTypedName",
                "src": "31066:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "31074:6:84",
                "nodeType": "YulTypedName",
                "src": "31074:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "31082:6:84",
                "nodeType": "YulTypedName",
                "src": "31082:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "31090:6:84",
                "nodeType": "YulTypedName",
                "src": "31090:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "31098:6:84",
                "nodeType": "YulTypedName",
                "src": "31098:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "31106:6:84",
                "nodeType": "YulTypedName",
                "src": "31106:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "31117:3:84",
                "nodeType": "YulTypedName",
                "src": "31117:3:84",
                "type": ""
              }
            ],
            "src": "30758:1323:84"
          },
          {
            "body": {
              "nativeSrc": "32135:79:84",
              "nodeType": "YulBlock",
              "src": "32135:79:84",
              "statements": [
                {
                  "nativeSrc": "32145:17:84",
                  "nodeType": "YulAssignment",
                  "src": "32145:17:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "32157:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "32157:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "32160:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "32160:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "32153:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "32153:3:84"
                    },
                    "nativeSrc": "32153:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32153:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "32145:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "32145:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "32186:22:84",
                    "nodeType": "YulBlock",
                    "src": "32186:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "32188:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "32188:16:84"
                          },
                          "nativeSrc": "32188:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "32188:18:84"
                        },
                        "nativeSrc": "32188:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "32188:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "32177:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "32177:4:84"
                      },
                      {
                        "name": "x",
                        "nativeSrc": "32183:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "32183:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "32174:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "32174:2:84"
                    },
                    "nativeSrc": "32174:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32174:11:84"
                  },
                  "nativeSrc": "32171:37:84",
                  "nodeType": "YulIf",
                  "src": "32171:37:84"
                }
              ]
            },
            "name": "checked_sub_t_uint256",
            "nativeSrc": "32086:128:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "32117:1:84",
                "nodeType": "YulTypedName",
                "src": "32117:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "32120:1:84",
                "nodeType": "YulTypedName",
                "src": "32120:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "32126:4:84",
                "nodeType": "YulTypedName",
                "src": "32126:4:84",
                "type": ""
              }
            ],
            "src": "32086:128:84"
          },
          {
            "body": {
              "nativeSrc": "32393:229:84",
              "nodeType": "YulBlock",
              "src": "32393:229:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "32410:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "32410:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32421:2:84",
                        "nodeType": "YulLiteral",
                        "src": "32421:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32403:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "32403:6:84"
                    },
                    "nativeSrc": "32403:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32403:21:84"
                  },
                  "nativeSrc": "32403:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "32403:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "32444:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "32444:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32455:2:84",
                            "nodeType": "YulLiteral",
                            "src": "32455:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32440:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32440:3:84"
                        },
                        "nativeSrc": "32440:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32440:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32460:2:84",
                        "nodeType": "YulLiteral",
                        "src": "32460:2:84",
                        "type": "",
                        "value": "39"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32433:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "32433:6:84"
                    },
                    "nativeSrc": "32433:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32433:30:84"
                  },
                  "nativeSrc": "32433:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "32433:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "32483:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "32483:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32494:2:84",
                            "nodeType": "YulLiteral",
                            "src": "32494:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32479:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32479:3:84"
                        },
                        "nativeSrc": "32479:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32479:18:84"
                      },
                      {
                        "hexValue": "5769746e657443424f522e736b69703a20756e737570706f72746564206d616a",
                        "kind": "string",
                        "nativeSrc": "32499:34:84",
                        "nodeType": "YulLiteral",
                        "src": "32499:34:84",
                        "type": "",
                        "value": "WitnetCBOR.skip: unsupported maj"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32472:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "32472:6:84"
                    },
                    "nativeSrc": "32472:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32472:62:84"
                  },
                  "nativeSrc": "32472:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "32472:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "32554:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "32554:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32565:2:84",
                            "nodeType": "YulLiteral",
                            "src": "32565:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32550:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32550:3:84"
                        },
                        "nativeSrc": "32550:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32550:18:84"
                      },
                      {
                        "hexValue": "6f722074797065",
                        "kind": "string",
                        "nativeSrc": "32570:9:84",
                        "nodeType": "YulLiteral",
                        "src": "32570:9:84",
                        "type": "",
                        "value": "or type"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32543:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "32543:6:84"
                    },
                    "nativeSrc": "32543:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32543:37:84"
                  },
                  "nativeSrc": "32543:37:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "32543:37:84"
                },
                {
                  "nativeSrc": "32589:27:84",
                  "nodeType": "YulAssignment",
                  "src": "32589:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "32601:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "32601:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32612:3:84",
                        "nodeType": "YulLiteral",
                        "src": "32612:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "32597:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "32597:3:84"
                    },
                    "nativeSrc": "32597:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32597:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "32589:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "32589:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_92a4e60c9c8a6bab113d51719bd32c972951c92a48fb0ef633db4f8d512f86fe__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "32219:403:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "32370:9:84",
                "nodeType": "YulTypedName",
                "src": "32370:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "32384:4:84",
                "nodeType": "YulTypedName",
                "src": "32384:4:84",
                "type": ""
              }
            ],
            "src": "32219:403:84"
          },
          {
            "body": {
              "nativeSrc": "32798:195:84",
              "nodeType": "YulBlock",
              "src": "32798:195:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "32815:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "32815:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32826:2:84",
                        "nodeType": "YulLiteral",
                        "src": "32826:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32808:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "32808:6:84"
                    },
                    "nativeSrc": "32808:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32808:21:84"
                  },
                  "nativeSrc": "32808:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "32808:21:84"
                },
                {
                  "nativeSrc": "32838:52:84",
                  "nodeType": "YulAssignment",
                  "src": "32838:52:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "32863:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "32863:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "32875:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "32875:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32886:2:84",
                            "nodeType": "YulLiteral",
                            "src": "32886:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32871:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32871:3:84"
                        },
                        "nativeSrc": "32871:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32871:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "32846:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "32846:16:84"
                    },
                    "nativeSrc": "32846:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32846:44:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "32838:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "32838:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "32910:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "32910:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32921:2:84",
                            "nodeType": "YulLiteral",
                            "src": "32921:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32906:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32906:3:84"
                        },
                        "nativeSrc": "32906:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32906:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "32926:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "32926:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32899:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "32899:6:84"
                    },
                    "nativeSrc": "32899:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32899:34:84"
                  },
                  "nativeSrc": "32899:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "32899:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "32953:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "32953:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32964:2:84",
                            "nodeType": "YulLiteral",
                            "src": "32964:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32949:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32949:3:84"
                        },
                        "nativeSrc": "32949:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32949:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "32973:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "32973:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32981:4:84",
                            "nodeType": "YulLiteral",
                            "src": "32981:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "32969:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32969:3:84"
                        },
                        "nativeSrc": "32969:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32969:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32942:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "32942:6:84"
                    },
                    "nativeSrc": "32942:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32942:45:84"
                  },
                  "nativeSrc": "32942:45:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "32942:45:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes_memory_ptr_t_uint256_t_uint8__to_t_bytes_memory_ptr_t_uint256_t_uint8__fromStack_reversed",
            "nativeSrc": "32627:366:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "32751:9:84",
                "nodeType": "YulTypedName",
                "src": "32751:9:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "32762:6:84",
                "nodeType": "YulTypedName",
                "src": "32762:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "32770:6:84",
                "nodeType": "YulTypedName",
                "src": "32770:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "32778:6:84",
                "nodeType": "YulTypedName",
                "src": "32778:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "32789:4:84",
                "nodeType": "YulTypedName",
                "src": "32789:4:84",
                "type": ""
              }
            ],
            "src": "32627:366:84"
          },
          {
            "body": {
              "nativeSrc": "33123:141:84",
              "nodeType": "YulBlock",
              "src": "33123:141:84",
              "statements": [
                {
                  "nativeSrc": "33133:26:84",
                  "nodeType": "YulAssignment",
                  "src": "33133:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33145:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "33145:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33156:2:84",
                        "nodeType": "YulLiteral",
                        "src": "33156:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "33141:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "33141:3:84"
                    },
                    "nativeSrc": "33141:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33141:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "33133:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "33133:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33175:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "33175:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "33190:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "33190:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33198:4:84",
                            "nodeType": "YulLiteral",
                            "src": "33198:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "33186:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33186:3:84"
                        },
                        "nativeSrc": "33186:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33186:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33168:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33168:6:84"
                    },
                    "nativeSrc": "33168:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33168:36:84"
                  },
                  "nativeSrc": "33168:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33168:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33224:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "33224:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33235:2:84",
                            "nodeType": "YulLiteral",
                            "src": "33235:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33220:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33220:3:84"
                        },
                        "nativeSrc": "33220:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33220:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "33244:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "33244:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33252:4:84",
                            "nodeType": "YulLiteral",
                            "src": "33252:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "33240:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33240:3:84"
                        },
                        "nativeSrc": "33240:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33240:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33213:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33213:6:84"
                    },
                    "nativeSrc": "33213:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33213:45:84"
                  },
                  "nativeSrc": "33213:45:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33213:45:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8_t_uint8__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "32998:266:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33084:9:84",
                "nodeType": "YulTypedName",
                "src": "33084:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "33095:6:84",
                "nodeType": "YulTypedName",
                "src": "33095:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "33103:6:84",
                "nodeType": "YulTypedName",
                "src": "33103:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "33114:4:84",
                "nodeType": "YulTypedName",
                "src": "33114:4:84",
                "type": ""
              }
            ],
            "src": "32998:266:84"
          },
          {
            "body": {
              "nativeSrc": "33398:119:84",
              "nodeType": "YulBlock",
              "src": "33398:119:84",
              "statements": [
                {
                  "nativeSrc": "33408:26:84",
                  "nodeType": "YulAssignment",
                  "src": "33408:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33420:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "33420:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33431:2:84",
                        "nodeType": "YulLiteral",
                        "src": "33431:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "33416:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "33416:3:84"
                    },
                    "nativeSrc": "33416:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33416:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "33408:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "33408:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33450:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "33450:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "33461:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "33461:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33443:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33443:6:84"
                    },
                    "nativeSrc": "33443:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33443:25:84"
                  },
                  "nativeSrc": "33443:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33443:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33488:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "33488:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33499:2:84",
                            "nodeType": "YulLiteral",
                            "src": "33499:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33484:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33484:3:84"
                        },
                        "nativeSrc": "33484:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33484:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "33504:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "33504:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33477:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33477:6:84"
                    },
                    "nativeSrc": "33477:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33477:34:84"
                  },
                  "nativeSrc": "33477:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33477:34:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "33269:248:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33359:9:84",
                "nodeType": "YulTypedName",
                "src": "33359:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "33370:6:84",
                "nodeType": "YulTypedName",
                "src": "33370:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "33378:6:84",
                "nodeType": "YulTypedName",
                "src": "33378:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "33389:4:84",
                "nodeType": "YulTypedName",
                "src": "33389:4:84",
                "type": ""
              }
            ],
            "src": "33269:248:84"
          },
          {
            "body": {
              "nativeSrc": "33569:88:84",
              "nodeType": "YulBlock",
              "src": "33569:88:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "33600:22:84",
                    "nodeType": "YulBlock",
                    "src": "33600:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "33602:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "33602:16:84"
                          },
                          "nativeSrc": "33602:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "33602:18:84"
                        },
                        "nativeSrc": "33602:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "33602:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "33585:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "33585:5:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "33596:1:84",
                            "nodeType": "YulLiteral",
                            "src": "33596:1:84",
                            "type": "",
                            "value": "0"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "33592:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33592:3:84"
                        },
                        "nativeSrc": "33592:6:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33592:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "33582:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "33582:2:84"
                    },
                    "nativeSrc": "33582:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33582:17:84"
                  },
                  "nativeSrc": "33579:43:84",
                  "nodeType": "YulIf",
                  "src": "33579:43:84"
                },
                {
                  "nativeSrc": "33631:20:84",
                  "nodeType": "YulAssignment",
                  "src": "33631:20:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "33642:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "33642:5:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33649:1:84",
                        "nodeType": "YulLiteral",
                        "src": "33649:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "33638:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "33638:3:84"
                    },
                    "nativeSrc": "33638:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33638:13:84"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "33631:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "33631:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "increment_t_uint256",
            "nativeSrc": "33522:135:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "33551:5:84",
                "nodeType": "YulTypedName",
                "src": "33551:5:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "33561:3:84",
                "nodeType": "YulTypedName",
                "src": "33561:3:84",
                "type": ""
              }
            ],
            "src": "33522:135:84"
          },
          {
            "body": {
              "nativeSrc": "33761:87:84",
              "nodeType": "YulBlock",
              "src": "33761:87:84",
              "statements": [
                {
                  "nativeSrc": "33771:26:84",
                  "nodeType": "YulAssignment",
                  "src": "33771:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33783:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "33783:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33794:2:84",
                        "nodeType": "YulLiteral",
                        "src": "33794:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "33779:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "33779:3:84"
                    },
                    "nativeSrc": "33779:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33779:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "33771:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "33771:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33813:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "33813:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "33828:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "33828:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33836:4:84",
                            "nodeType": "YulLiteral",
                            "src": "33836:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "33824:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33824:3:84"
                        },
                        "nativeSrc": "33824:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33824:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33806:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33806:6:84"
                    },
                    "nativeSrc": "33806:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33806:36:84"
                  },
                  "nativeSrc": "33806:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33806:36:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8__to_t_uint256__fromStack_reversed",
            "nativeSrc": "33662:186:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33730:9:84",
                "nodeType": "YulTypedName",
                "src": "33730:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "33741:6:84",
                "nodeType": "YulTypedName",
                "src": "33741:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "33752:4:84",
                "nodeType": "YulTypedName",
                "src": "33752:4:84",
                "type": ""
              }
            ],
            "src": "33662:186:84"
          },
          {
            "body": {
              "nativeSrc": "34038:309:84",
              "nodeType": "YulBlock",
              "src": "34038:309:84",
              "statements": [
                {
                  "nativeSrc": "34048:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34048:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "34068:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34068:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "34062:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "34062:5:84"
                    },
                    "nativeSrc": "34062:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34062:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "34052:6:84",
                      "nodeType": "YulTypedName",
                      "src": "34052:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "34123:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "34123:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34131:4:84",
                            "nodeType": "YulLiteral",
                            "src": "34131:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34119:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34119:3:84"
                        },
                        "nativeSrc": "34119:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34119:17:84"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "34138:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "34138:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "34143:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34143:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "34084:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "34084:34:84"
                    },
                    "nativeSrc": "34084:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34084:66:84"
                  },
                  "nativeSrc": "34084:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34084:66:84"
                },
                {
                  "nativeSrc": "34159:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34159:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "34176:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "34176:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "34181:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34181:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "34172:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34172:3:84"
                    },
                    "nativeSrc": "34172:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34172:16:84"
                  },
                  "variables": [
                    {
                      "name": "end_1",
                      "nativeSrc": "34163:5:84",
                      "nodeType": "YulTypedName",
                      "src": "34163:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "34197:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34197:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "34219:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34219:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "34213:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "34213:5:84"
                    },
                    "nativeSrc": "34213:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34213:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "34201:8:84",
                      "nodeType": "YulTypedName",
                      "src": "34201:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "34274:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "34274:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34282:4:84",
                            "nodeType": "YulLiteral",
                            "src": "34282:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34270:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34270:3:84"
                        },
                        "nativeSrc": "34270:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34270:17:84"
                      },
                      {
                        "name": "end_1",
                        "nativeSrc": "34289:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "34289:5:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "34296:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "34296:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "34235:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "34235:34:84"
                    },
                    "nativeSrc": "34235:70:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34235:70:84"
                  },
                  "nativeSrc": "34235:70:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34235:70:84"
                },
                {
                  "nativeSrc": "34314:27:84",
                  "nodeType": "YulAssignment",
                  "src": "34314:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "34325:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "34325:5:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "34332:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "34332:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "34321:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34321:3:84"
                    },
                    "nativeSrc": "34321:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34321:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "34314:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34314:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_bytes_memory_ptr__to_t_string_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "33853:494:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "34006:3:84",
                "nodeType": "YulTypedName",
                "src": "34006:3:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "34011:6:84",
                "nodeType": "YulTypedName",
                "src": "34011:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "34019:6:84",
                "nodeType": "YulTypedName",
                "src": "34019:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "34030:3:84",
                "nodeType": "YulTypedName",
                "src": "34030:3:84",
                "type": ""
              }
            ],
            "src": "33853:494:84"
          },
          {
            "body": {
              "nativeSrc": "34399:104:84",
              "nodeType": "YulBlock",
              "src": "34399:104:84",
              "statements": [
                {
                  "nativeSrc": "34409:39:84",
                  "nodeType": "YulAssignment",
                  "src": "34409:39:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "34425:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "34425:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34428:4:84",
                            "nodeType": "YulLiteral",
                            "src": "34428:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "34421:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34421:3:84"
                        },
                        "nativeSrc": "34421:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34421:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "34439:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "34439:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34442:4:84",
                            "nodeType": "YulLiteral",
                            "src": "34442:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "34435:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34435:3:84"
                        },
                        "nativeSrc": "34435:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34435:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "34417:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34417:3:84"
                    },
                    "nativeSrc": "34417:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34417:31:84"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "34409:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "34409:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "34475:22:84",
                    "nodeType": "YulBlock",
                    "src": "34475:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "34477:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "34477:16:84"
                          },
                          "nativeSrc": "34477:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "34477:18:84"
                        },
                        "nativeSrc": "34477:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "34477:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "34463:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "34463:4:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34469:4:84",
                        "nodeType": "YulLiteral",
                        "src": "34469:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "34460:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "34460:2:84"
                    },
                    "nativeSrc": "34460:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34460:14:84"
                  },
                  "nativeSrc": "34457:40:84",
                  "nodeType": "YulIf",
                  "src": "34457:40:84"
                }
              ]
            },
            "name": "checked_sub_t_uint8",
            "nativeSrc": "34352:151:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "34381:1:84",
                "nodeType": "YulTypedName",
                "src": "34381:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "34384:1:84",
                "nodeType": "YulTypedName",
                "src": "34384:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "34390:4:84",
                "nodeType": "YulTypedName",
                "src": "34390:4:84",
                "type": ""
              }
            ],
            "src": "34352:151:84"
          },
          {
            "body": {
              "nativeSrc": "34555:133:84",
              "nodeType": "YulBlock",
              "src": "34555:133:84",
              "statements": [
                {
                  "nativeSrc": "34565:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34565:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "34575:18:84",
                    "nodeType": "YulLiteral",
                    "src": "34575:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "34569:2:84",
                      "nodeType": "YulTypedName",
                      "src": "34569:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "34602:34:84",
                  "nodeType": "YulAssignment",
                  "src": "34602:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "34617:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "34617:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "34620:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "34620:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "34613:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34613:3:84"
                        },
                        "nativeSrc": "34613:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34613:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "34629:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "34629:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "34632:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "34632:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "34625:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34625:3:84"
                        },
                        "nativeSrc": "34625:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34625:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "34609:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34609:3:84"
                    },
                    "nativeSrc": "34609:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34609:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "34602:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34602:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "34660:22:84",
                    "nodeType": "YulBlock",
                    "src": "34660:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "34662:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "34662:16:84"
                          },
                          "nativeSrc": "34662:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "34662:18:84"
                        },
                        "nativeSrc": "34662:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "34662:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "34651:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "34651:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "34656:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "34656:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "34648:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "34648:2:84"
                    },
                    "nativeSrc": "34648:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34648:11:84"
                  },
                  "nativeSrc": "34645:37:84",
                  "nodeType": "YulIf",
                  "src": "34645:37:84"
                }
              ]
            },
            "name": "checked_add_t_uint64",
            "nativeSrc": "34508:180:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "34538:1:84",
                "nodeType": "YulTypedName",
                "src": "34538:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "34541:1:84",
                "nodeType": "YulTypedName",
                "src": "34541:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "34547:3:84",
                "nodeType": "YulTypedName",
                "src": "34547:3:84",
                "type": ""
              }
            ],
            "src": "34508:180:84"
          },
          {
            "body": {
              "nativeSrc": "34793:101:84",
              "nodeType": "YulBlock",
              "src": "34793:101:84",
              "statements": [
                {
                  "nativeSrc": "34803:26:84",
                  "nodeType": "YulAssignment",
                  "src": "34803:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34815:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "34815:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34826:2:84",
                        "nodeType": "YulLiteral",
                        "src": "34826:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "34811:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34811:3:84"
                    },
                    "nativeSrc": "34811:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34811:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "34803:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "34803:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34845:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "34845:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "34860:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "34860:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34868:18:84",
                            "nodeType": "YulLiteral",
                            "src": "34868:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "34856:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34856:3:84"
                        },
                        "nativeSrc": "34856:31:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34856:31:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34838:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "34838:6:84"
                    },
                    "nativeSrc": "34838:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34838:50:84"
                  },
                  "nativeSrc": "34838:50:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "34838:50:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint64__to_t_uint256__fromStack_reversed",
            "nativeSrc": "34693:201:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "34762:9:84",
                "nodeType": "YulTypedName",
                "src": "34762:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "34773:6:84",
                "nodeType": "YulTypedName",
                "src": "34773:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "34784:4:84",
                "nodeType": "YulTypedName",
                "src": "34784:4:84",
                "type": ""
              }
            ],
            "src": "34693:201:84"
          },
          {
            "body": {
              "nativeSrc": "34950:206:84",
              "nodeType": "YulBlock",
              "src": "34950:206:84",
              "statements": [
                {
                  "nativeSrc": "34960:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34960:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "34970:18:84",
                    "nodeType": "YulLiteral",
                    "src": "34970:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "34964:2:84",
                      "nodeType": "YulTypedName",
                      "src": "34964:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "34997:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34997:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "35024:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "35024:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "35027:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "35027:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "35020:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35020:3:84"
                        },
                        "nativeSrc": "35020:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35020:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "35036:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "35036:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "35039:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "35039:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "35032:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35032:3:84"
                        },
                        "nativeSrc": "35032:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35032:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "35016:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35016:3:84"
                    },
                    "nativeSrc": "35016:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35016:27:84"
                  },
                  "variables": [
                    {
                      "name": "product_raw",
                      "nativeSrc": "35001:11:84",
                      "nodeType": "YulTypedName",
                      "src": "35001:11:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "35052:31:84",
                  "nodeType": "YulAssignment",
                  "src": "35052:31:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "product_raw",
                        "nativeSrc": "35067:11:84",
                        "nodeType": "YulIdentifier",
                        "src": "35067:11:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "35080:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "35080:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "35063:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35063:3:84"
                    },
                    "nativeSrc": "35063:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35063:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "35052:7:84",
                      "nodeType": "YulIdentifier",
                      "src": "35052:7:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35128:22:84",
                    "nodeType": "YulBlock",
                    "src": "35128:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "35130:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "35130:16:84"
                          },
                          "nativeSrc": "35130:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35130:18:84"
                        },
                        "nativeSrc": "35130:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35130:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "product",
                            "nativeSrc": "35105:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "35105:7:84"
                          },
                          {
                            "name": "product_raw",
                            "nativeSrc": "35114:11:84",
                            "nodeType": "YulIdentifier",
                            "src": "35114:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "35102:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "35102:2:84"
                        },
                        "nativeSrc": "35102:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35102:24:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "35095:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35095:6:84"
                    },
                    "nativeSrc": "35095:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35095:32:84"
                  },
                  "nativeSrc": "35092:58:84",
                  "nodeType": "YulIf",
                  "src": "35092:58:84"
                }
              ]
            },
            "name": "checked_mul_t_uint64",
            "nativeSrc": "34899:257:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "34929:1:84",
                "nodeType": "YulTypedName",
                "src": "34929:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "34932:1:84",
                "nodeType": "YulTypedName",
                "src": "34932:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "34938:7:84",
                "nodeType": "YulTypedName",
                "src": "34938:7:84",
                "type": ""
              }
            ],
            "src": "34899:257:84"
          },
          {
            "body": {
              "nativeSrc": "35199:74:84",
              "nodeType": "YulBlock",
              "src": "35199:74:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "35222:22:84",
                    "nodeType": "YulBlock",
                    "src": "35222:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "35224:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "35224:16:84"
                          },
                          "nativeSrc": "35224:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35224:18:84"
                        },
                        "nativeSrc": "35224:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35224:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "35219:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "35219:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "35212:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35212:6:84"
                    },
                    "nativeSrc": "35212:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35212:9:84"
                  },
                  "nativeSrc": "35209:35:84",
                  "nodeType": "YulIf",
                  "src": "35209:35:84"
                },
                {
                  "nativeSrc": "35253:14:84",
                  "nodeType": "YulAssignment",
                  "src": "35253:14:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "35262:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "35262:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "35265:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "35265:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "mod",
                      "nativeSrc": "35258:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35258:3:84"
                    },
                    "nativeSrc": "35258:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35258:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "35253:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "35253:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "mod_t_uint256",
            "nativeSrc": "35161:112:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "35184:1:84",
                "nodeType": "YulTypedName",
                "src": "35184:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "35187:1:84",
                "nodeType": "YulTypedName",
                "src": "35187:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "35193:1:84",
                "nodeType": "YulTypedName",
                "src": "35193:1:84",
                "type": ""
              }
            ],
            "src": "35161:112:84"
          }
        ]
      },
      "contents": "{\n    { }\n    function abi_decode_enum_RadonDataTypes(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(lt(value, 20)) { revert(0, 0) }\n    }\n    function abi_decode_uint16(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_enum$_RadonDataTypes_$16432t_uint16(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := abi_decode_enum_RadonDataTypes(headStart)\n        value1 := abi_decode_uint16(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_uint16__to_t_uint16__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffff))\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory_4510() -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 64)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function allocate_memory_4516() -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0xe0)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function allocate_memory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function abi_decode_bytes(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        if gt(_1, 0xffffffffffffffff) { panic_error_0x41() }\n        let array_1 := allocate_memory(add(and(add(_1, 0x1f), not(31)), 0x20))\n        mstore(array_1, _1)\n        if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n        calldatacopy(add(array_1, 0x20), add(offset, 0x20), _1)\n        mstore(add(add(array_1, _1), 0x20), 0)\n        array := array_1\n    }\n    function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        value0 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        mstore(add(dst, length), 0)\n    }\n    function abi_encode_bytes(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_bytes(value0, add(headStart, 32))\n    }\n    function abi_decode_enum_RadonDataRequestMethods(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(lt(value, 5)) { revert(0, 0) }\n    }\n    function array_allocation_size_array_array_string_dyn(length) -> size\n    {\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n        size := add(shl(5, length), 0x20)\n    }\n    function abi_decode_array_array_string_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_array_string_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            let innerOffset := calldataload(src)\n            let _3 := 0xffffffffffffffff\n            if gt(innerOffset, _3)\n            {\n                let _4 := 0\n                revert(_4, _4)\n            }\n            let _5 := add(offset, innerOffset)\n            if iszero(slt(add(_5, 63), end))\n            {\n                let _6 := 0\n                revert(_6, _6)\n            }\n            let dst_2 := allocate_memory_4510()\n            let dst_3 := dst_2\n            let srcEnd_1 := add(_5, 96)\n            if gt(srcEnd_1, end)\n            {\n                let _7 := 0\n                revert(_7, _7)\n            }\n            let src_1 := add(_5, _2)\n            for { } lt(src_1, srcEnd_1) { src_1 := add(src_1, _2) }\n            {\n                let innerOffset_1 := calldataload(src_1)\n                if gt(innerOffset_1, _3)\n                {\n                    let _8 := 0\n                    revert(_8, _8)\n                }\n                mstore(dst_2, abi_decode_bytes(add(add(_5, innerOffset_1), _2), end))\n                dst_2 := add(dst_2, _2)\n            }\n            mstore(dst, dst_3)\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_enum$_RadonDataRequestMethods_$16410t_string_memory_ptrt_string_memory_ptrt_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        value0 := abi_decode_enum_RadonDataRequestMethods(headStart)\n        let offset := calldataload(add(headStart, 32))\n        let _1 := 0xffffffffffffffff\n        if gt(offset, _1) { revert(0, 0) }\n        value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 64))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value2 := abi_decode_bytes(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 96))\n        if gt(offset_2, _1) { revert(0, 0) }\n        value3 := abi_decode_array_array_string_dyn(add(headStart, offset_2), dataEnd)\n        let offset_3 := calldataload(add(headStart, 128))\n        if gt(offset_3, _1) { revert(0, 0) }\n        value4 := abi_decode_bytes(add(headStart, offset_3), dataEnd)\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_enum_RadonReducerOpcodes(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(lt(value, 12)) { revert(0, 0) }\n    }\n    function abi_decode_struct_RadonFilter(headStart, end) -> value\n    {\n        if slt(sub(end, headStart), 0x40) { revert(0, 0) }\n        value := allocate_memory_4510()\n        let value_1 := calldataload(headStart)\n        if iszero(lt(value_1, 10)) { revert(0, 0) }\n        mstore(value, value_1)\n        let offset := calldataload(add(headStart, 32))\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        mstore(add(value, 32), abi_decode_bytes(add(headStart, offset), end))\n    }\n    function abi_decode_tuple_t_struct$_RadonReducer_$16460_memory_ptr(headStart, dataEnd) -> value0\n    {\n        let _1 := 32\n        if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _2 := 0xffffffffffffffff\n        if gt(offset, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset)\n        if slt(sub(dataEnd, _3), 0x40) { revert(0, 0) }\n        let value := allocate_memory_4510()\n        mstore(value, abi_decode_enum_RadonReducerOpcodes(_3))\n        let offset_1 := calldataload(add(_3, _1))\n        if gt(offset_1, _2) { revert(0, 0) }\n        let _4 := add(_3, offset_1)\n        if iszero(slt(add(_4, 0x1f), dataEnd)) { revert(0, 0) }\n        let _5 := calldataload(_4)\n        let dst := allocate_memory(array_allocation_size_array_array_string_dyn(_5))\n        let dst_1 := dst\n        mstore(dst, _5)\n        dst := add(dst, _1)\n        let srcEnd := add(add(_4, shl(5, _5)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_4, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            let innerOffset := calldataload(src)\n            if gt(innerOffset, _2)\n            {\n                let _6 := 0\n                revert(_6, _6)\n            }\n            mstore(dst, abi_decode_struct_RadonFilter(add(add(_4, innerOffset), _1), dataEnd))\n            dst := add(dst, _1)\n        }\n        mstore(add(value, _1), dst_1)\n        value0 := value\n    }\n    function abi_decode_tuple_t_enum$_RadonReducerOpcodes_$16474(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_enum_RadonReducerOpcodes(headStart)\n    }\n    function abi_decode_uint8(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function abi_decode_uint64(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xffffffffffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_struct$_RadonSLA_$16519_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        let memPtr := mload(64)\n        let newFreePtr := add(memPtr, 160)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        mstore(memPtr, abi_decode_uint8(headStart))\n        mstore(add(memPtr, 32), abi_decode_uint8(add(headStart, 32)))\n        mstore(add(memPtr, 64), abi_decode_uint64(add(headStart, 64)))\n        mstore(add(memPtr, 96), abi_decode_uint64(add(headStart, 96)))\n        mstore(add(memPtr, 128), abi_decode_uint64(add(headStart, 128)))\n        value0 := memPtr\n    }\n    function abi_decode_struct_RadonRetrieval(headStart, end) -> value\n    {\n        if slt(sub(end, headStart), 0xe0) { revert(0, 0) }\n        value := allocate_memory_4516()\n        mstore(value, abi_decode_uint8(headStart))\n        mstore(add(value, 32), abi_decode_enum_RadonDataRequestMethods(add(headStart, 32)))\n        mstore(add(value, 64), abi_decode_enum_RadonDataTypes(add(headStart, 64)))\n        let offset := calldataload(add(headStart, 96))\n        let _1 := 0xffffffffffffffff\n        if gt(offset, _1) { revert(0, 0) }\n        mstore(add(value, 96), abi_decode_bytes(add(headStart, offset), end))\n        let offset_1 := calldataload(add(headStart, 128))\n        if gt(offset_1, _1) { revert(0, 0) }\n        mstore(add(value, 128), abi_decode_bytes(add(headStart, offset_1), end))\n        let offset_2 := calldataload(add(headStart, 160))\n        if gt(offset_2, _1) { revert(0, 0) }\n        mstore(add(value, 160), abi_decode_array_array_string_dyn(add(headStart, offset_2), end))\n        let offset_3 := calldataload(add(headStart, 192))\n        if gt(offset_3, _1) { revert(0, 0) }\n        mstore(add(value, 192), abi_decode_bytes(add(headStart, offset_3), end))\n    }\n    function abi_decode_array_string_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_array_string_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            let innerOffset := calldataload(src)\n            if gt(innerOffset, 0xffffffffffffffff)\n            {\n                let _3 := 0\n                revert(_3, _3)\n            }\n            mstore(dst, abi_decode_bytes(add(add(offset, innerOffset), _2), end))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_struct$_RadonRetrieval_$16495_memory_ptrt_array$_t_string_memory_ptr_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := 0xffffffffffffffff\n        if gt(offset, _1) { revert(0, 0) }\n        value0 := abi_decode_struct_RadonRetrieval(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value1 := abi_decode_array_string_dyn(add(headStart, offset_1), dataEnd)\n    }\n    function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        value0 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_bytes_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        value0 := abi_decode_bytes(add(headStart, offset), dataEnd)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_struct$_RadonFilter_$16439_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        value0 := abi_decode_struct_RadonFilter(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_uint64t_bytes1(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := abi_decode_uint64(headStart)\n        let value := calldataload(add(headStart, 32))\n        if iszero(eq(value, and(value, shl(248, 255)))) { revert(0, 0) }\n        value1 := value\n    }\n    function abi_decode_array_array_string_dyn_dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_array_string_dyn(_1))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let srcEnd := add(add(offset, shl(5, _1)), _2)\n        if gt(srcEnd, end) { revert(0, 0) }\n        let src := add(offset, _2)\n        for { } lt(src, srcEnd) { src := add(src, _2) }\n        {\n            let innerOffset := calldataload(src)\n            if gt(innerOffset, 0xffffffffffffffff)\n            {\n                let _3 := 0\n                revert(_3, _3)\n            }\n            mstore(dst, abi_decode_array_string_dyn(add(add(offset, innerOffset), _2), end))\n            dst := add(dst, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_array$_t_struct$_RadonRetrieval_$16495_memory_ptr_$dyn_memory_ptrt_array$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$dyn_memory_ptrt_bytes_memory_ptrt_bytes_memory_ptrt_uint16(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := 0xffffffffffffffff\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let _3 := calldataload(_2)\n        let _4 := 0x20\n        let dst := allocate_memory(array_allocation_size_array_array_string_dyn(_3))\n        let dst_1 := dst\n        mstore(dst, _3)\n        dst := add(dst, _4)\n        let srcEnd := add(add(_2, shl(5, _3)), _4)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_2, _4)\n        for { } lt(src, srcEnd) { src := add(src, _4) }\n        {\n            let innerOffset := calldataload(src)\n            if gt(innerOffset, _1)\n            {\n                let _5 := 0\n                revert(_5, _5)\n            }\n            mstore(dst, abi_decode_struct_RadonRetrieval(add(add(_2, innerOffset), _4), dataEnd))\n            dst := add(dst, _4)\n        }\n        value0 := dst_1\n        let offset_1 := calldataload(add(headStart, _4))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value1 := abi_decode_array_array_string_dyn_dyn(add(headStart, offset_1), dataEnd)\n        let offset_2 := calldataload(add(headStart, 64))\n        if gt(offset_2, _1) { revert(0, 0) }\n        value2 := abi_decode_bytes(add(headStart, offset_2), dataEnd)\n        let offset_3 := calldataload(add(headStart, 96))\n        if gt(offset_3, _1) { revert(0, 0) }\n        value3 := abi_decode_bytes(add(headStart, offset_3), dataEnd)\n        value4 := abi_decode_uint16(add(headStart, 128))\n    }\n    function abi_decode_tuple_t_bytes_memory_ptrt_array$_t_string_memory_ptr_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := 0xffffffffffffffff\n        if gt(offset, _1) { revert(0, 0) }\n        value0 := abi_decode_bytes(add(headStart, offset), dataEnd)\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        value1 := abi_decode_array_string_dyn(add(headStart, offset_1), dataEnd)\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_enum$_RadonDataTypes_$16432__to_t_uint8__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        if iszero(lt(value0, 20)) { panic_error_0x21() }\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_struct$_RadonRetrieval_$16495_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        value0 := abi_decode_struct_RadonRetrieval(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_uint8_t_uint16__to_t_uint8_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), and(value1, 0xffff))\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_add_t_uint16(x, y) -> sum\n    {\n        let _1 := 0xffff\n        sum := add(and(x, _1), and(y, _1))\n        if gt(sum, _1) { panic_error_0x11() }\n    }\n    function abi_encode_array_array_string_dyn(value, pos) -> end\n    {\n        let pos_1 := pos\n        let length := mload(value)\n        mstore(pos, length)\n        let _1 := 0x20\n        pos := add(pos, _1)\n        let tail := add(add(pos_1, shl(5, length)), _1)\n        let srcPtr := add(value, _1)\n        let i := 0\n        let i_1 := 0\n        for { } lt(i_1, length) { i_1 := add(i_1, 1) }\n        {\n            mstore(pos, add(sub(tail, pos_1), not(31)))\n            let _2 := mload(srcPtr)\n            let pos_2 := tail\n            pos_2 := tail\n            let tail_1 := add(tail, 64)\n            let srcPtr_1 := _2\n            let i_2 := i\n            for { } lt(i_2, 0x02) { i_2 := add(i_2, 1) }\n            {\n                mstore(pos_2, sub(tail_1, tail))\n                tail_1 := abi_encode_bytes(mload(srcPtr_1), tail_1)\n                srcPtr_1 := add(srcPtr_1, _1)\n                pos_2 := add(pos_2, _1)\n            }\n            tail := tail_1\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        end := tail\n    }\n    function abi_encode_tuple_t_uint8_t_string_memory_ptr_t_string_memory_ptr_t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr__to_t_uint8_t_string_memory_ptr_t_string_memory_ptr_t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), 128)\n        let tail_1 := abi_encode_bytes(value1, add(headStart, 128))\n        mstore(add(headStart, 64), sub(tail_1, headStart))\n        let tail_2 := abi_encode_bytes(value2, tail_1)\n        mstore(add(headStart, 96), sub(tail_2, headStart))\n        tail := abi_encode_array_array_string_dyn(value3, tail_2)\n    }\n    function abi_encode_tuple_t_enum$_RadonDataRequestMethods_$16410_t_string_memory_ptr_t_string_memory_ptr_t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr__to_t_uint8_t_string_memory_ptr_t_string_memory_ptr_t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        if iszero(lt(value0, 5)) { panic_error_0x21() }\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), 160)\n        let tail_1 := abi_encode_bytes(value1, add(headStart, 160))\n        mstore(add(headStart, 64), sub(tail_1, headStart))\n        let tail_2 := abi_encode_bytes(value2, tail_1)\n        mstore(add(headStart, 96), sub(tail_2, headStart))\n        let tail_3 := abi_encode_array_array_string_dyn(value3, tail_2)\n        mstore(add(headStart, 128), sub(tail_3, headStart))\n        tail := abi_encode_bytes(value4, tail_3)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        let end_1 := add(pos, length)\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n        end := add(end_1, length_1)\n    }\n    function abi_encode_tuple_t_stringliteral_d5aaf5f96cb3989607204c167e3ad1fc3d9441c2aebac45df70a4561eb9f58ea__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 41)\n        mstore(add(headStart, 64), \"WitnetEncodingLib: invalid SLA: \")\n        mstore(add(headStart, 96), \"no reward\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_4ad1a34e9a1a42f1c08146454c8f85771db21b33e79a33ae9b2284649fd4bd0a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 44)\n        mstore(add(headStart, 64), \"WitnetEncodingLib: invalid SLA: \")\n        mstore(add(headStart, 96), \"no witnesses\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_0f64ac4354fc3ee9b0093934216b56757a203750eebaa36bfbdeaab5dee02abd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 57)\n        mstore(add(headStart, 64), \"WitnetEncodingLib: invalid SLA: \")\n        mstore(add(headStart, 96), \"too many witnesses (>127)\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_3c485ab42b687f826f0ccc3ea30e0db39d176b9d12684a96f566c83dbc4a9098__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 65)\n        mstore(add(headStart, 64), \"WitnetEncodingLib: invalid SLA: \")\n        mstore(add(headStart, 96), \"consensus percentage out of rang\")\n        mstore(add(headStart, 128), \"e\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_t_stringliteral_eba0b4c426190ab49b8ae13e67660278506cf46123ea7a68bd88143bb4fadcc9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 45)\n        mstore(add(headStart, 64), \"WitnetEncodingLib: invalid SLA: \")\n        mstore(add(headStart, 96), \"no collateral\")\n        tail := add(headStart, 128)\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function checked_div_t_uint64(x, y) -> r\n    {\n        let _1 := 0xffffffffffffffff\n        let y_1 := and(y, _1)\n        if iszero(y_1) { panic_error_0x12() }\n        r := div(and(x, _1), y_1)\n    }\n    function abi_encode_tuple_t_stringliteral_c0c2d766eb577ea84b75f9fcb7c5378cb72bf766ceaac2e9f8dfcb263b607bcd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 71)\n        mstore(add(headStart, 64), \"WitnetEncodingLib: invalid SLA: \")\n        mstore(add(headStart, 96), \"collateral/reward ratio too high\")\n        mstore(add(headStart, 128), \" (>127)\")\n        tail := add(headStart, 160)\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value4, value3, value2, value1, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        let end_1 := add(pos, length)\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n        let end_2 := add(end_1, length_1)\n        let length_2 := mload(value2)\n        copy_memory_to_memory_with_cleanup(add(value2, 0x20), end_2, length_2)\n        let end_3 := add(end_2, length_2)\n        let length_3 := mload(value3)\n        copy_memory_to_memory_with_cleanup(add(value3, 0x20), end_3, length_3)\n        let end_4 := add(end_3, length_3)\n        let length_4 := mload(value4)\n        copy_memory_to_memory_with_cleanup(add(value4, 0x20), end_4, length_4)\n        end := add(end_4, length_4)\n    }\n    function abi_encode_tuple_packed_t_uint8_t_bytes_memory_ptr__to_t_uint8_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        mstore(pos, and(shl(248, value0), shl(248, 255)))\n        let length := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), add(pos, 1), length)\n        end := add(add(pos, length), 1)\n    }\n    function abi_encode_tuple_packed_t_uint8__to_t_uint8__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, and(shl(248, value0), shl(248, 255)))\n        end := add(pos, 1)\n    }\n    function abi_encode_tuple_packed_t_uint16__to_t_uint16__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, and(shl(240, value0), shl(240, 65535)))\n        end := add(pos, 2)\n    }\n    function abi_encode_tuple_packed_t_uint32__to_t_uint32__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, and(shl(224, value0), shl(224, 0xffffffff)))\n        end := add(pos, 4)\n    }\n    function abi_encode_tuple_packed_t_uint64__to_t_uint64__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, and(shl(192, value0), shl(192, 0xffffffffffffffff)))\n        end := add(pos, 8)\n    }\n    function abi_encode_tuple_packed_t_uint8_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_uint8_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value2, value1, value0) -> end\n    {\n        mstore(pos, and(shl(248, value0), shl(248, 255)))\n        let length := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), add(pos, 1), length)\n        let _1 := add(pos, length)\n        let length_1 := mload(value2)\n        copy_memory_to_memory_with_cleanup(add(value2, 0x20), add(_1, 1), length_1)\n        end := add(add(_1, length_1), 1)\n    }\n    function abi_encode_tuple_t_uint8_t_bytes_memory_ptr__to_t_uint8_t_bytes_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), 64)\n        tail := abi_encode_bytes(value1, add(headStart, 64))\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value3, value2, value1, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        let end_1 := add(pos, length)\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n        let end_2 := add(end_1, length_1)\n        let length_2 := mload(value2)\n        copy_memory_to_memory_with_cleanup(add(value2, 0x20), end_2, length_2)\n        let end_3 := add(end_2, length_2)\n        let length_3 := mload(value3)\n        copy_memory_to_memory_with_cleanup(add(value3, 0x20), end_3, length_3)\n        end := add(end_3, length_3)\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value2, value1, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        let end_1 := add(pos, length)\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n        let end_2 := add(end_1, length_1)\n        let length_2 := mload(value2)\n        copy_memory_to_memory_with_cleanup(add(value2, 0x20), end_2, length_2)\n        end := add(end_2, length_2)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value5, value4, value3, value2, value1, value0) -> end\n    {\n        let length := mload(value0)\n        let _1 := 0x20\n        copy_memory_to_memory_with_cleanup(add(value0, _1), pos, length)\n        let end_1 := add(pos, length)\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, _1), end_1, length_1)\n        let end_2 := add(end_1, length_1)\n        let length_2 := mload(value2)\n        copy_memory_to_memory_with_cleanup(add(value2, _1), end_2, length_2)\n        let end_3 := add(end_2, length_2)\n        let length_3 := mload(value3)\n        copy_memory_to_memory_with_cleanup(add(value3, _1), end_3, length_3)\n        let end_4 := add(end_3, length_3)\n        let length_4 := mload(value4)\n        copy_memory_to_memory_with_cleanup(add(value4, _1), end_4, length_4)\n        let end_5 := add(end_4, length_4)\n        let length_5 := mload(value5)\n        copy_memory_to_memory_with_cleanup(add(value5, _1), end_5, length_5)\n        end := add(end_5, length_5)\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_stringliteral_92a4e60c9c8a6bab113d51719bd32c972951c92a48fb0ef633db4f8d512f86fe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 39)\n        mstore(add(headStart, 64), \"WitnetCBOR.skip: unsupported maj\")\n        mstore(add(headStart, 96), \"or type\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_bytes_memory_ptr_t_uint256_t_uint8__to_t_bytes_memory_ptr_t_uint256_t_uint8__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 96)\n        tail := abi_encode_bytes(value0, add(headStart, 96))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), and(value2, 0xff))\n    }\n    function abi_encode_tuple_t_uint8_t_uint8__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), and(value1, 0xff))\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_bytes_memory_ptr__to_t_string_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        let end_1 := add(pos, length)\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n        end := add(end_1, length_1)\n    }\n    function checked_sub_t_uint8(x, y) -> diff\n    {\n        diff := sub(and(x, 0xff), and(y, 0xff))\n        if gt(diff, 0xff) { panic_error_0x11() }\n    }\n    function checked_add_t_uint64(x, y) -> sum\n    {\n        let _1 := 0xffffffffffffffff\n        sum := add(and(x, _1), and(y, _1))\n        if gt(sum, _1) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint64__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffffffff))\n    }\n    function checked_mul_t_uint64(x, y) -> product\n    {\n        let _1 := 0xffffffffffffffff\n        let product_raw := mul(and(x, _1), and(y, _1))\n        product := and(product_raw, _1)\n        if iszero(eq(product, product_raw)) { panic_error_0x11() }\n    }\n    function mod_t_uint256(x, y) -> r\n    {\n        if iszero(y) { panic_error_0x12() }\n        r := mod(x, y)\n    }\n}",
      "id": 84,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "sourceMap": "189:19369:67:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;189:19369:67;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "189:19369:67:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12729:1152;;;;;;:::i;:::-;;:::i;:::-;;;816:6:84;804:19;;;786:38;;774:2;759:18;12729:1152:67;;;;;;;;3939:158;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;11664:1053::-;;;;;;:::i;:::-;;:::i;:::-;;;6786:25:84;;;6774:2;6759:18;11664:1053:67;6632:185:84;8609:731:67;;;;;;:::i;:::-;;:::i;9933:181::-;;;;;;:::i;:::-;;:::i;15872:962::-;;;;;;:::i;:::-;;:::i;:::-;;10122:484;;;;;;:::i;:::-;;:::i;11187:469::-;;;;;;:::i;:::-;;:::i;4236:167::-;;;;;;:::i;:::-;;:::i;2788:1042::-;;;;;;:::i;:::-;;:::i;13889:833::-;;;;;;:::i;:::-;;:::i;4631:886::-;;;;;;:::i;:::-;;:::i;7742:859::-;;;;;;:::i;:::-;;:::i;9348:577::-;;;;;;:::i;:::-;;:::i;14730:1134::-;;;;;;:::i;:::-;;:::i;10614:565::-;;;;;;:::i;:::-;;:::i;16842:261::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5528:2206::-;;;;;;:::i;:::-;;:::i;12729:1152::-;12875:6;;12917:8;:37;;;;;;;;:::i;:::-;;:98;;;-1:-1:-1;12987:28:67;12975:8;:40;;;;;;;;:::i;:::-;;12917:98;:158;;;-1:-1:-1;13048:27:67;13036:8;:39;;;;;;;;:::i;:::-;;12917:158;:218;;;-1:-1:-1;13108:27:67;13096:8;:39;;;;;;;;:::i;:::-;;12917:218;:276;;;-1:-1:-1;13168:25:67;13156:8;:37;;;;;;;;:::i;:::-;;12917:276;12899:975;;;13224:11;:16;;13239:1;13224:16;13220:179;;13321:8;13315:15;;;;;;;;:::i;:::-;13268:115;;-1:-1:-1;;;13268:115:67;;18803:4:84;18791:17;;;13268:115:67;;;18773:36:84;18857:6;18845:19;;18825:18;;;18818:47;18746:18;;13268:115:67;;;;;;;;13220:179;13420:15;:11;13434:1;13420:15;:::i;:::-;13413:22;;;;12899:975;13532:29;13520:8;:41;;;;;;;;:::i;:::-;;:101;;;-1:-1:-1;13594:27:67;13582:8;:39;;;;;;;;:::i;:::-;;13520:101;:160;;;-1:-1:-1;13654:26:67;13642:8;:38;;;;;;;;:::i;:::-;;13520:160;13502:372;;;-1:-1:-1;13714:1:67;13707:8;;13502:372;13805:8;13799:15;;;;;;;;:::i;:::-;13833:14;13838:8;13833:4;:14::i;:::-;13756:106;;-1:-1:-1;;;13756:106:67;;18803:4:84;18791:17;;;13756:106:67;;;18773:36:84;18857:6;18845:19;18825:18;;;18818:47;18746:18;;13756:106:67;18604:267:84;13502:372:67;12729:1152;;;;:::o;3939:158::-;4012:12;4049:40;4056:3;1071:1:66;4049:6:67;:40::i;11664:1053::-;11924:7;11989:1;11975:3;11969:17;:21;:290;;;;-1:-1:-1;12045:38:67;12035:6;:48;;;;;;;;:::i;:::-;;:127;;;-1:-1:-1;12123:39:67;12113:6;:49;;;;;;;;:::i;:::-;;12035:127;:205;;;-1:-1:-1;12201:39:67;12191:6;:49;;;;;;;;:::i;:::-;;12035:205;11969:473;;;-1:-1:-1;12286:34:67;12276:6;:44;;;;;;;;:::i;:::-;;:87;;;;-1:-1:-1;12341:17:67;;:22;12276:87;:127;;;;-1:-1:-1;12384:14:67;;:19;12276:127;:166;;;;;12441:1;12424:6;:13;:18;;12276:166;11949:686;;12530:6;12524:13;;;;;;;;:::i;:::-;12556:3;12578:4;12601:7;12477:146;;-1:-1:-1;;;12477:146:67;;;;;;;;;;;:::i;11949:686::-;12673:6;12681:3;12686:4;12692:7;12701:6;12662:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;12652:57;;;;;;12645:64;;11664:1053;;;;;;;:::o;8609:731::-;8700:21;8794:7;8789:216;8812:7;:15;;;:22;8807:2;:27;8789:216;;;8912:8;8943:27;8950:7;:15;;;8966:2;8950:19;;;;;;;;:::i;:::-;;;;;;;8943:6;:27::i;:::-;8873:116;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;8873:116:67;;;;;;;;;;-1:-1:-1;8836:5:67;;8789:216;;;;9065:8;9092:22;9099:7;:14;;;9092:6;:22::i;:::-;9030:99;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9019:110;;8609:731;;;:::o;9933:181::-;10023:12;10070:36;10084:6;10077:14;;;;;;;;:::i;:::-;-1:-1:-1;;;10070:6:67;:36::i;15872:962::-;15959:3;:17;;;-1:-1:-1;;;;;15959:22:67;15980:1;15959:22;15955:106;;15998:51;;-1:-1:-1;;;15998:51:67;;22805:2:84;15998:51:67;;;22787:21:84;22844:2;22824:18;;;22817:30;-1:-1:-1;;;;;;;;;;;22863:18:84;;;22856:62;-1:-1:-1;;;22934:18:84;;;22927:39;22983:19;;15998:51:67;22603:405:84;15955:106:67;16075:16;;:21;;:16;:21;16071:236;;16113:54;;-1:-1:-1;;;16113:54:67;;23215:2:84;16113:54:67;;;23197:21:84;23254:2;23234:18;;;23227:30;-1:-1:-1;;;;;;;;;;;23273:18:84;;;23266:62;-1:-1:-1;;;23344:18:84;;;23337:42;23396:19;;16113:54:67;23013:408:84;16071:236:67;16208:3;16189;:16;;;:22;;;16185:122;;;16228:67;;-1:-1:-1;;;16228:67:67;;23628:2:84;16228:67:67;;;23610:21:84;23667:2;23647:18;;;23640:30;-1:-1:-1;;;;;;;;;;;23686:18:84;;;23679:62;23777:27;23757:18;;;23750:55;23822:19;;16228:67:67;23426:421:84;16185:122:67;16364:2;16335:3;:26;;;:31;;;:84;;;;16417:2;16388:3;:26;;;:31;;;16335:84;16317:216;;;16446:75;;-1:-1:-1;;;16446:75:67;;24054:2:84;16446:75:67;;;24036:21:84;24093:2;24073:18;;;24066:30;-1:-1:-1;;;;;;;;;;;24112:18:84;;;24105:62;24203:34;24183:18;;;24176:62;-1:-1:-1;;;24254:19:84;;;24247:32;24296:19;;16446:75:67;23852:469:84;16317:216:67;16547:21;;;;-1:-1:-1;;;;;16547:25:67;;16543:113;;16589:55;;-1:-1:-1;;;16589:55:67;;24528:2:84;16589:55:67;;;24510:21:84;24567:2;24547:18;;;24540:30;-1:-1:-1;;;;;;;;;;;24586:18:84;;;24579:62;-1:-1:-1;;;24657:18:84;;;24650:43;24710:19;;16589:55:67;24326:409:84;16543:113:67;16714:3;16694;:17;;;16670:3;:21;;;:41;;;;:::i;:::-;-1:-1:-1;;;;;16670:47:67;;16666:161;;;16734:81;;-1:-1:-1;;;16734:81:67;;25278:2:84;16734:81:67;;;25260:21:84;25317:2;25297:18;;;25290:30;-1:-1:-1;;;;;;;;;;;25336:18:84;;;25329:62;25427:34;25407:18;;;25400:62;-1:-1:-1;;;25478:19:84;;;25471:38;25526:19;;16734:81:67;25076:475:84;16666:161:67;15872:962;:::o;10122:484::-;10205:12;10273:47;10287:3;:17;;;10314:4;10307:12;;10273:6;:47::i;:::-;10349:16;;10335:46;;10342:24;;-1:-1:-1;;;10335:6:67;:46::i;:::-;10410:24;;;;10396:54;;-1:-1:-1;;;10396:6:67;:54::i;:::-;10479:26;;;;10465:56;;10472:34;;-1:-1:-1;;;10465:6:67;:56::i;:::-;10550:21;;;;10536:51;;-1:-1:-1;;;10536:6:67;:51::i;:::-;10242:356;;;;;;;;;;;;:::i;11187:469::-;11318:36;11339:4;:8;;;11349:4;11318:20;:36::i;:::-;11307:8;;;:47;11398:9;;;;11377:37;;11409:4;11377:20;:37::i;:::-;11365:9;;;:49;11467:11;;;;11439:46;;11480:4;11439:27;:46::i;:::-;11425:11;;;:60;11501:8;11496:153;11522:4;:12;;;:19;11516:3;:25;11496:153;;;11589:48;11610:4;:12;;;11623:3;11610:17;;;;;;;;:::i;:::-;;;;;;;11628:1;11610:20;;;;;;;:::i;:::-;;;;;11632:4;11589:20;:48::i;:::-;11566:4;:12;;;11579:3;11566:17;;;;;;;;:::i;:::-;;;;;;;11584:1;11566:20;;;;;;;:::i;:::-;;;;:71;11543:6;;11496:153;;;;11187:469;;:::o;4236:167::-;4310:12;4347:48;4360:3;1121:1:66;2788:1042:67;2918:10;;2877:12;;2949:2;2943:8;;2939:884;;;3041:3;3016:29;;3030:1;3017:9;:14;;3016:29;3065:3;2975:108;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2968:115;;;;;2939:884;3149:1;3136:14;;;3167:17;3210:4;3203:11;;3199:492;;3271:28;;-1:-1:-1;;;;;;27221:3:84;27199:16;;;27195:36;3271:28:67;;;27183:49:84;3243:2:67;3235:10;;;;;27248:11:84;;3271:28:67;;;;;;;;;;;;;3264:35;;3199:492;;;3348:6;3341:3;:13;3337:354;;3411:29;;-1:-1:-1;;;;;;27435:3:84;27413:16;;;27409:38;3411:29:67;;;27397:51:84;3383:2:67;3375:10;;;;;27464:11:84;;3411:29:67;27270:211:84;3337:354:67;3473:10;3466:3;:17;3462:229;;3540:29;;-1:-1:-1;;;;;;27651:3:84;27629:16;;;27625:43;3540:29:67;;;27613:56:84;3512:2:67;3504:10;;;;;27685:11:84;;3540:29:67;27486:216:84;3462:229:67;3646:29;;-1:-1:-1;;;;;;27872:3:84;27850:16;;;27846:51;3646:29:67;;;27834:64:84;3618:2:67;3610:10;;;;;27914:11:84;;3646:29:67;;;;;;;;;;;;3639:36;;3462:229;3747:4;3770;3793:3;3712:99;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3705:106;;;;;;;2939:884;2896:934;2788:1042;;;;:::o;13889:833::-;14013:43;13996:13;;:60;;;;;;;;:::i;:::-;;13978:737;;14140:6;:11;;;:18;14162:1;14140:23;14136:132;;14224:13;;14218:20;;;;;;;;:::i;:::-;14240:6;:11;;;14191:61;;-1:-1:-1;;;14191:61:67;;;;;;;;;:::i;13978:737::-;14320:30;14303:13;;:47;;;;;;;;:::i;:::-;;14285:430;;14444:11;;;;:18;:22;14440:131;;14527:13;;14521:20;;;;;;;;:::i;14285:430::-;14688:13;;14682:20;;;;;;;;:::i;:::-;14653:50;;-1:-1:-1;;;14653:50:67;;29002:4:84;28990:17;;;14653:50:67;;;28972:36:84;28945:18;;14653:50:67;28830:184:84;4631:886:67;4706:16;4933:1;4967;4983:100;4996:4;4990:3;-1:-1:-1;;;;;4990:10:67;;4983:100;;;5034:1;5027:3;-1:-1:-1;;;;;5027:8:67;;;5021:14;;5066:1;5054:13;;;;4983:100;;;5113:8;-1:-1:-1;;;;;5103:19:67;-1:-1:-1;;;;;5103:19:67;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5103:19:67;;5097:25;;5143:1;5137:7;;5168:1;5159:3;5163:1;5159:6;;;;;;;;:::i;:::-;;;;:10;-1:-1:-1;;;;;5159:10:67;;;;;;;;-1:-1:-1;5200:1:67;5184:222;5207:8;-1:-1:-1;;;;;5203:12:67;:1;-1:-1:-1;;;;;5203:12:67;;5184:222;;;5345:3;5351:4;5345:10;5332:4;:24;5325:32;;5316:3;5320:1;-1:-1:-1;;;;;5316:6:67;;;;;;;;;:::i;:::-;;;;:41;-1:-1:-1;;;;;5316:41:67;;;;;;;;-1:-1:-1;5389:1:67;5382:8;;;;;;;5217:3;;5184:222;;;;5494:4;5473:25;;:3;5488:1;5477:8;:12;-1:-1:-1;;;;;5473:17:67;;;;;;;;;:::i;:::-;;;;:25;;;;;-1:-1:-1;;;;;;5473:25:67;;;;;;;;;4740:770;;4631:886;;;;:::o;7742:859::-;8016:12;8046:29;8090:7;:14;-1:-1:-1;;;;;8078:27:67;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8046:59;;8121:7;8116:167;8139:7;:14;8134:2;:19;8116:167;;;8177:39;8194:7;8202:2;8194:11;;;;;;;;:::i;:::-;;;;;;;8207:4;8212:2;8207:8;;;;;;;;:::i;:::-;;;;;;;8177:16;:39::i;:::-;8252:19;8259:7;8267:2;8259:11;;;;;;;;:::i;:::-;;;;;;;8252:6;:19::i;:::-;8231:14;8246:2;8231:18;;;;;;;;:::i;:::-;;;;;;;;;;:40;8155:5;;8116:167;;;;8331:35;8351:14;8331:19;:35::i;:::-;8395:30;;8381:60;;-1:-1:-1;;;8381:6:67;:60::i;:::-;8456:23;8494:55;8508:18;:25;8543:4;8536:12;;8494:6;:55::i;:::-;8564:18;8300:293;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;8293:300;;;7742:859;;;;;;;:::o;9348:577::-;9437:21;9526:43;9540:6;:13;;;9533:21;;;;;;;;:::i;:::-;-1:-1:-1;;;9526:6:67;:43::i;:::-;9605:1;9584:6;:11;;;:18;:22;:194;;9769:9;;;;;;;;;;;;9584:194;;;9679:11;;;;:18;9665:48;;-1:-1:-1;;;9665:6:67;:48::i;:::-;9736:11;;;;;9626:140;;;;;;;:::i;:::-;;;;;;;;;;;;;9584:194;9495:294;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9484:305;;9838:45;9852:8;:15;9877:4;9870:12;;9838:6;:45::i;:::-;9898:8;9807:110;;;;;;;;;:::i;14730:1134::-;14913:38;14895:14;;:56;;;;;;;;:::i;:::-;;:144;;;-1:-1:-1;14995:44:67;14977:14;;:62;;;;;;;;:::i;:::-;;14895:144;:218;;;-1:-1:-1;15082:31:67;15064:14;;:49;;;;;;;;:::i;:::-;;14895:218;:306;;;-1:-1:-1;15156:45:67;15138:14;;:63;;;;;;;;:::i;:::-;;14895:306;:389;;;-1:-1:-1;15244:40:67;15226:14;;:58;;;;;;;;:::i;:::-;;14895:389;14871:524;;15363:14;;15357:21;;;;;;;;:::i;:::-;15327:52;;-1:-1:-1;;;15327:52:67;;29002:4:84;28990:17;;;15327:52:67;;;28972:36:84;28945:18;;15327:52:67;28830:184:84;14871:524:67;15414:7;15409:118;15432:7;:15;;;:22;15427:2;:27;15409:118;;;15482:29;15491:7;:15;;;15507:2;15491:19;;;;;;;;:::i;:::-;;;;;;;15482:8;:29::i;:::-;15456:5;;15409:118;;;;14730:1134;:::o;10614:565::-;10768:12;10798:27;10828:26;10849:4;10828:20;:26::i;:::-;10798:56;;10865:273;2152:11:66;;:16;;:23;2130:18;;;;;:45;;10865:273:67;;1121:1:66;10904:46:67;;:4;:14;;;:46;;;10900:227;;10971:33;10993:4;10999;10971:21;:33::i;:::-;11030:13;:4;:11;:13::i;:::-;11023:20;;10865:273;;10900:227;11091:20;:11;:4;:9;:11::i;:::-;:18;:20::i;10865:273::-;11155:11;:16;;10614:565;-1:-1:-1;;;10614:565:67:o;16842:261::-;16943:21;16989:106;17036:28;17057:6;17036:20;:28::i;:::-;17079:5;16989:32;:106::i;5528:2206::-;5620:12;5650:27;5680:43;5694:6;:13;;;5687:21;;;;;;;;:::i;5680:43::-;5650:73;;5734:24;5800:1;5779:6;:10;;;5773:24;:28;5769:215;;;5887:10;;;;5881:24;5867:54;;-1:-1:-1;;;5867:6:67;:54::i;:::-;5946:6;:10;;;5832:140;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5818:154;;5769:215;6036:13;;;;:20;5994:27;;6036:24;6032:206;;6143:13;;;;:20;6129:50;;-1:-1:-1;;;6129:6:67;:50::i;:::-;6198:6;:13;;;6094:132;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6077:149;;6032:206;6294:11;;;;6288:25;6248;;6288:29;6284:219;;6404:11;;;;6398:25;6384:55;;-1:-1:-1;;;6384:6:67;:55::i;:::-;6464:6;:11;;;6349:142;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6334:157;;6284:219;6556:14;;;;:21;6513:28;;6556:25;6552:698;;6603:8;6598:641;6623:6;:14;;;:21;6617:3;:27;6598:641;;;6673:21;6736:66;6756:6;:14;;;6771:3;6756:19;;;;;;;;:::i;:::-;;;;;;;6776:1;6756:22;;;;;;;:::i;:::-;;;;;6750:36;-1:-1:-1;;;6736:6:67;:66::i;:::-;6831:6;:14;;;6846:3;6831:19;;;;;;;;:::i;:::-;;;;;;;6851:1;6831:22;;;;;;;:::i;:::-;;;;;6877:66;6897:6;:14;;;6912:3;6897:19;;;;;;;;:::i;:::-;;;;;;;6917:1;6897:22;;;;;;;:::i;:::-;;;;;6891:36;-1:-1:-1;;;6877:6:67;:66::i;:::-;6972:6;:14;;;6987:3;6972:19;;;;;;;;:::i;:::-;;;;;;;6992:1;6972:22;;;;;;;:::i;:::-;;;;;6697:317;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6673:341;;7090:15;7128:45;7142:8;:15;7167:4;7160:12;;7128:6;:45::i;:::-;7196:8;7051:172;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7051:172:67;;;;;;;;;;-1:-1:-1;;6646:6:67;;6598:641;;;;6552:698;7260:15;7452;:22;7413:12;:19;7372:14;:21;7334:11;:18;7293:14;:21;:59;;;;:::i;:::-;:100;;;;:::i;:::-;:139;;;;:::i;:::-;:181;;;;:::i;:::-;7260:225;-1:-1:-1;7534:40:67;7260:225;-1:-1:-1;;;7534:6:67;:40::i;:::-;7589:14;7618:11;7644:14;7673:12;7700:15;7503:223;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7496:230;;;;;;;;5528:2206;;;:::o;1990:387::-;2056:6;2088:29;2079:5;:38;;;;;;;;:::i;:::-;;:91;;;-1:-1:-1;2143:27:67;2134:5;:36;;;;;;;;:::i;:::-;;2079:91;2075:295;;;-1:-1:-1;2204:1:67;;1990:387;-1:-1:-1;1990:387:67:o;2075:295::-;2236:26;2227:5;:35;;;;;;;;:::i;:::-;;2223:147;;-1:-1:-1;2286:1:67;;1990:387;-1:-1:-1;1990:387:67:o;2223:147::-;-1:-1:-1;2356:1:67;;1990:387;-1:-1:-1;1990:387:67:o;2223:147::-;1990:387;;;:::o;21041:217:65:-;21134:13;21160:25;21191:27;21205:5;21213:4;21191:7;:27::i;:::-;-1:-1:-1;21159:59:65;21041:217;-1:-1:-1;;;;21041:217:65:o;1231:1412::-;1490:4;1484:11;1584:2;1572:15;;1353:23;1625:1;1610:814;1634:6;:13;1628:2;:19;1610:814;;1855:2;1847:11;;;1835:24;;1829:31;1921:13;;1829:31;;2004:15;;2040:99;2059:18;2004:15;1921:13;2040:6;:99::i;:::-;-1:-1:-1;2367:37:65;;;;2251:36;;;;;-1:-1:-1;1649:5:65;;1610:814;;;;2500:17;2492:6;2485:33;2617:2;2598:17;2594:26;2587:4;2581:11;2577:44;2571:4;2564:58;2441:190;;1231:1412;;;:::o;2488:204:66:-;2563:11;;:::i;:::-;2622:32;;;;;;;;;;;;2586:33;2622:32;;;;2668:18;2622:32;2668:10;:18::i;:::-;2661:25;2488:204;-1:-1:-1;;;2488:204:66:o;17365:710:67:-;17528:8;;;;17561:11;;:18;;;-1:-1:-1;;;;;17513:23:67;;;;:12;17618:17;17528:4;17618:15;:17::i;:::-;17590:46;;17648:19;17669:18;17691:34;17712:6;17720:4;17691:20;:34::i;:::-;17647:78;;-1:-1:-1;17647:78:67;-1:-1:-1;17740:17:67;;17736:332;;17774:26;17803:22;17817:6;17803;:22::i;:::-;17774:51;-1:-1:-1;17861:16:67;17870:7;17861:6;:16;:::i;:::-;17840:11;;:18;;:37;17929:13;;17892:107;;17929:23;;17945:7;;17929:23;:::i;:::-;17892:11;;;17971:13;17892:18;:107::i;:::-;18036:20;;18014:11;;:18;;:42;;;;18036:20;;18014:42;:::i;:::-;;;-1:-1:-1;;17736:332:67;17502:573;;;;;17365:710;;:::o;4400:208:66:-;4471:22;;:::i;:::-;2152:11;;:16;;:23;2130:18;;;;;:45;;4505:98;;4549:11;;4538:23;;:10;:23::i;4505:98::-;-1:-1:-1;4591:4:66;4400:208::o;4614:1135::-;4683:22;;:::i;:::-;4729:14;;;;:32;;;;:86;;-1:-1:-1;4774:14:66;;;;:41;;1022:1;4774:41;4729:86;:263;;;-1:-1:-1;4841:14:66;;;;:41;;1320:1;4841:41;:91;;;;;4930:2;4900:4;:26;;;:32;;;;4841:91;:140;;;;;4979:2;4949:4;:26;;;:32;;;;4841:140;4717:1009;;;5031:17;:4;:15;:17::i;:::-;-1:-1:-1;;;;;5009:39:66;:4;:11;;;:18;;:39;;;;;;;:::i;:::-;;;-1:-1:-1;;4591:4:66;4400:208::o;4717:1009::-;5076:14;;;;:35;;1121:1;5076:35;;:84;;-1:-1:-1;5126:14:66;;;;:34;;1071:1;5126:34;5076:84;5062:664;;;5177:10;5190:51;5201:4;:11;;;5214:4;:26;;;5190:10;:51::i;:::-;5177:64;;5272:3;-1:-1:-1;;;;;5250:25:66;:4;:11;;;:18;;:25;;;;;;;:::i;:::-;;;-1:-1:-1;5062:664:66;;-1:-1:-1;5062:664:66;;5301:14;;;;:34;;1170:1;5301:34;;:79;;-1:-1:-1;5348:14:66;;;;:32;;1217:1;5348:32;5301:79;5289:437;;;5409:51;5420:4;:11;;;5433:4;:26;;;5409:10;:51::i;:::-;-1:-1:-1;;;;;5398:62:66;:8;;;:62;-1:-1:-1;4591:4:66;4400:208::o;5289:437::-;5493:14;;;;:41;;1320:1;5493:41;;;:159;;;5560:4;:26;;;:32;;5590:2;5560:32;;:81;;;;;5609:4;:26;;;:32;;5639:2;5609:32;;5560:81;5480:246;;;5669:49;;-1:-1:-1;;;5669:49:66;;32421:2:84;5669:49:66;;;32403:21:84;32460:2;32440:18;;;32433:30;32499:34;32479:18;;;32472:62;-1:-1:-1;;;32550:18:84;;;32543:37;32597:19;;5669:49:66;32219:403:84;18089:1464:67;18211:21;1170:1:66;18254:45:67;;:4;:14;;;:45;;;18250:1296;;18316:30;18349:16;:4;:14;:16::i;:::-;18316:49;;18399:1;18384:5;:12;:16;18380:319;;;18428:4;:164;;18529:63;18562:5;18583:1;18568:5;:12;:16;;;;:::i;:::-;18562:23;;;;;;;;:::i;:::-;;;;;;;18587:4;18529:32;:63::i;:::-;18428:164;;;18456:49;18489:5;18495:1;18489:8;;;;;;;;:::i;:::-;;;;;;;18499:5;18456:32;:49::i;:::-;18421:171;;;;;18380:319;18658:25;18651:32;;;;;18250:1296;18720:14;;;;:43;;18716:830;;18806:11;;:18;;;18792:11;18853:15;18806:4;18853:13;:15::i;:::-;18839:29;;18883:14;18910:33;;;;;;;;;;;;;;;;;:40;18901:6;:49;:141;;19000:33;;;;;;;;;;;;;;;;;19034:6;19000:41;;;;;;;;:::i;:::-;;;;;;;18901:141;;;18970:4;18901:141;18883:174;-1:-1:-1;19093:31:67;19076:49;;;;19072:248;;;19204:11;;:16;19153:151;;-1:-1:-1;;;19153:151:67;;;;19204:16;19243:6;;19278;;19153:151;;;:::i;19072:248::-;19363:8;19341:31;;;;;;;;;;:::i;:::-;19334:38;;;;;;;18716:830;19505:14;;;;;19412:122;;-1:-1:-1;;;19412:122:67;;966:1:66;19412:122:67;;;33168:36:84;33198:4;33240:17;;;33220:18;;;33213:45;33141:18;;19412:122:67;32998:266:84;18224:2467:65;18316:19;18337:9;18358:7;18368:1;18358:11;;18371:8;18390:16;18413:17;18437;18461:18;18490:11;18508:17;18532:18;18578:1;18563:5;:12;:16;18559:56;;;18598:5;18605:1;18590:17;;;;;;;;;;;;;;;18559:56;18771:4;18765:11;18911:12;;18765:11;;-1:-1:-1;18709:2:65;18698:14;;;;-1:-1:-1;18839:15:65;;;-1:-1:-1;;;18911:16:65;18936:1265;18948:6;18943:2;:11;18936:1265;;;-1:-1:-1;;;;;;;;18985:25:65;;:5;18991:2;18985:9;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;18985:9:65;:25;:71;;;;;-1:-1:-1;;;;;;;;19027:29:65;;:5;19033:2;19038:1;19033:6;19027:13;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;19027:13:65;:29;18985:71;:116;;;;;-1:-1:-1;;;;;;;;19073:28:65;;:5;19079:2;19084:1;19079:6;19073:13;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;19073:13:65;:28;;18985:116;:161;;;;;-1:-1:-1;;;;;;;;19118:28:65;;:5;19124:2;19129:1;19124:6;19118:13;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;19118:13:65;:28;;18985:161;18969:1223;;;19191:3;19186:2;:8;19171:24;;19217:3;19212:2;:8;19208:292;;;19237:108;19260:13;19290:12;19319:11;19237:6;:108::i;:::-;19360:31;;;19390:1;19360:31;;19406:28;;;;19208:292;;;19485:1;19469:17;;;;19208:292;19512:7;-1:-1:-1;;;19550:18:65;;19533:5;19539:2;19544:1;19539:6;19533:13;;;;;;;;:::i;:::-;;;;;;;;;19527:20;;:41;19522:47;;19512:57;;19592:4;:11;19586:2;:17;19582:91;;19647:11;;19627:32;;-1:-1:-1;;;19627:32:65;;19644:1;19639:6;;19627:32;;;33443:25:84;33484:18;;;33477:34;;;;33416:18;;19627:32:65;33269:248:84;19582:91:65;19751:1;19747:2;19743:10;19739:2;19735:19;19729:4;19725:30;19719:37;19709:47;;19792:6;19786:13;19770:29;;19842:2;19834:6;19830:15;19813:32;;19884:102;19905:13;19933;19961:12;19884:6;:102::i;:::-;-1:-1:-1;20137:7:65;;;;;20102:1;20096:7;;;;;;;-1:-1:-1;20015:26:65;;;19999:42;;;;;20054:29;;;;18936:1265;;18969:1223;20175:5;;;;;18936:1265;;;-1:-1:-1;20214:12:65;;;-1:-1:-1;20248:16:65;;20244:442;;20284:3;20279:2;:8;20275:162;;;20301:89;20320:13;20346:12;20371:8;20376:3;20371:2;:8;:::i;:::-;20301:6;:89::i;:::-;20418:8;20423:3;20418:2;:8;:::i;:::-;20401:26;;;;:::i;:::-;;;20275:162;20516:12;20508:6;20501:28;20620:2;20606:12;20602:21;20595:4;20589:11;20585:39;20579:4;20572:53;20244:442;;;20669:5;20676:1;20661:17;;;;;;;;;;;;;;;20244:442;18351:2340;;;;;;;;;18224:2467;;;;;;:::o;23103:622::-;23274:147;23288:2;23281:3;:9;23274:147;;23349:10;;23336:24;;23389:2;23381:10;;;;23402:9;;;;-1:-1:-1;;23292:9:65;23274:147;;;23433:7;;23429:284;;23572:10;;23627:11;;23507:2;:8;;;;23499:3;:17;-1:-1:-1;;23499:21:65;23584:10;;23568:27;;;23623:23;;23671:21;23658:35;;23103:622::o;3010:1033:66:-;3120:11;;:::i;:::-;1949;;:18;3098:6;;1949:11;:23;1945:79;;1990:26;;-1:-1:-1;;;1990:26:66;;;;;;;;;;;1945:79;3143:17:::1;3185:3;3143:17:::0;-1:-1:-1;;;;;3143:17:66;3293:4:::1;3304:492;3311:8;3304:492;;;3401:18;:6;:16;:18::i;:::-;3387:32:::0;-1:-1:-1;3428:6:66;::::1;::::0;::::1;:::i;:::-;3455:16:::0;3470:1:::1;3455:16:::0;;;;;-1:-1:-1;3518:4:66::1;3504:18:::0;::::1;::::0;-1:-1:-1;3428:6:66;-1:-1:-1;;;;3569:27:66;;3565:224:::1;;3624:13;::::0;::::1;::::0;3654:41:::1;3624:6:::0;3673:21;3654:10:::1;:41::i;:::-;3648:47;;3729:7;3713:6;:13;;;:23;;;;:::i;:::-;3706:30;::::0;;::::1;:::i;:::-;;;3598:148;3304:492;;3565:224;-1:-1:-1::0;3774:5:66::1;3304:492;;;1320:1;3806:35;::::0;::::1;;3802:96;;;3859:31;::::0;-1:-1:-1;;;3859:31:66;;29002:4:84;28990:17;;3859:31:66::1;::::0;::::1;28972:36:84::0;28945:18;;3859:31:66::1;28830:184:84::0;3802:96:66::1;-1:-1:-1::0;3911:126:66::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;;;;;::::1;::::0;;;;-1:-1:-1;;;;;3911:126:66;;::::1;::::0;;;;::::1;::::0;;;;-1:-1:-1;3911:126:66;;3010:1033;-1:-1:-1;3010:1033:66:o;16210:702::-;16323:18;16284:4;1121:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:66;;33198:4:84;33186:17;;;1813:45:66;;;33168:36:84;33240:17;;;33220:18;;;33213:45;33141:18;;1813:45:66;32998:266:84;1765:101:66;16364:51:::1;16375:4;:11;;;16388:4;:26;;;16364:10;:51::i;:::-;-1:-1:-1::0;;;;;16353:62:66::1;:8;::::0;::::1;:62:::0;;;-1:-1:-1;;16426:22:66;16422:485:::1;;16459:10;16478:354;16486:5;16478:354;;16504:13;16520:89;16560:4;:11;;;16584:4;:14;;;16520:27;:89::i;:::-;16504:105:::0;-1:-1:-1;;;;;;16624:19:66;;::::1;;16620:203;;;16703:4:::0;16722:32:::1;16743:10;16752:1;16743:6:::0;:10:::1;:::i;:::-;16722:11:::0;;;:20:::1;:32::i;:::-;16672:95;;;;;;;;;:::i;:::-;;;;;;;;;;;;;16658:110;;16620:203;;;16807:4;16799:12;;16620:203;16493:339;16478:354;;;16450:389;16422:485;;;16889:8;::::0;::::1;::::0;16868:11;;:30:::1;::::0;:20:::1;:30::i;:::-;16854:45;;16422:485;16210:702:::0;;;;;:::o;2843:509:65:-;3020:13;;;;2999:11;;:18;2991:6;;2999:34;;;:::i;:::-;:38;;3036:1;2999:38;:::i;:::-;1012:6;1004:5;:14;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;33443:25:84;;;33484:18;;;33477:34;;;33416:18;;1036:31:65;33269:248:84;1000:75:65;3072:14:::1;::::0;;3084:1:::1;3072:14:::0;;;;;::::1;::::0;;;3049:20:::1;::::0;3072:14:::1;;;;;;;;;;;;;;;;;;;;3049:37;;3104:58;3117:6;3132:1;3142:6;:13;;;3104:4;:58::i;:::-;3093:5;3099:1;3093:8;;;;;;;;:::i;:::-;;;;;;:69;;;;3180:5;3169;3175:1;3169:8;;;;;;;;:::i;:::-;;;;;;:16;;;;3203:109;3216:6;3247;3231;:13;;;:22;;;;:::i;:::-;3283:13;::::0;::::1;::::0;3262:11;;:18;3299:6;;3262:34:::1;::::0;::::1;:::i;:::-;:43;;;;:::i;:::-;3203:4;:109::i;:::-;3192:5;3198:1;3192:8;;;;;;;;:::i;:::-;;;;;;:120;;;;3333:13;3340:5;3333:6;:13::i;:::-;3319:27:::0;;;-1:-1:-1;;;;;2843:509:65:o;5755:348:66:-;5826:6;5877:2;5848:4;:26;;;:31;;;5844:254;;;-1:-1:-1;5897:1:66;;5755:348;-1:-1:-1;5755:348:66:o;5844:254::-;5945:2;5916:4;:26;;;:31;;;5912:186;;;6007:2;5978:4;:26;;;:31;;;;:::i;:::-;5972:38;;:1;:38;;5958:53;;5755:348;;;:::o;5912:186::-;6063:26;;;;6041:49;;-1:-1:-1;;;6041:49:66;;29002:4:84;28990:17;;;6041:49:66;;;28972:36:84;28945:18;;6041:49:66;28830:184:84;8833:697:66;8972:6;9018:2;8994:21;:26;;;8990:77;;;-1:-1:-1;9031:28:66;;;;;8990:77;9077:21;:27;;9102:2;9077:27;9073:75;;9122:18;:6;:16;:18::i;:::-;9115:25;;;;;;9073:75;9158:21;:27;;9183:2;9158:27;9154:76;;9203:19;:6;:17;:19::i;:::-;9196:26;;;;;;9154:76;9240:21;:27;;9265:2;9240:27;9236:76;;9285:19;:6;:17;:19::i;:::-;9278:26;;;;;;9236:76;9322:21;:27;;9347:2;9322:27;9318:76;;9367:19;:6;:17;:19::i;9318:76::-;9404:21;:27;;9429:2;9404:27;9400:67;;-1:-1:-1;;;;;;9442:17:66;;9400:67;9480:44;;-1:-1:-1;;;9480:44:66;;29002:4:84;28990:17;;9480:44:66;;;28972:36:84;28945:18;;9480:44:66;28830:184:84;6109:1231:66;6220:19;6182:4;1170:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:66;;33198:4:84;33186:17;;;1813:45:66;;;33168:36:84;33240:17;;;33220:18;;;33213:45;33141:18;;1813:45:66;32998:266:84;1765:101:66;6336:10:::1;6349:51;6360:4;:11;;;6373:4;:26;;;6349:10;:51::i;:::-;6336:64:::0;-1:-1:-1;6426:7:66::1;6336:64:::0;6432:1:::1;6426:7;:::i;:::-;-1:-1:-1::0;;;;;6415:19:66::1;-1:-1:-1::0;;;;;6415:19:66::1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;6407:27;;6446:7;6441:739;6464:3;-1:-1:-1::0;;;;;6459:8:66::1;:2;:8;6441:739;;;6536:13;:4;:11;:13::i;:::-;6529:20;;6635:11;:4;:9;:11::i;:::-;6623:5;6629:2;6623:9;;;;;;;;:::i;:::-;;;;;;:23;;;;1170:1;6659:34;;:4;:14;;;:34;;::::0;6655:518:::1;;6706:23;6732:16;:4;:14;:16::i;:::-;6706:42;;6831:9;6860:1;6841:9;:16;:20;;;;:::i;:::-;6831:31;;;;;;;;:::i;:::-;;;;;;;6824:38;;6695:177;6655:518;;;1217:1;6882:32;;:4;:14;;;:32;;::::0;6878:295:::1;;6927:23;6953:14;:4;:12;:14::i;6878:295::-;7152:11;:4;:9;:11::i;:::-;;6878:295;6469:5;;6441:739;;;;7330:4;7317:5;7323:3;-1:-1:-1::0;;;;;7317:10:66::1;;;;;;;;;:::i;:::-;;;;;;:17;;;;6244:1096;6109:1231:::0;;;;;:::o;17859:209::-;17967:4;17931;966:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:66;;33198:4:84;33186:17;;;1813:45:66;;;33168:36:84;33240:17;;;33220:18;;;33213:45;33141:18;;1813:45:66;32998:266:84;1765:101:66;17990:72:::1;18009:4;:11;;;18029:4;:26;;;17990:10;:72::i;:::-;-1:-1:-1::0;;;;;17983:79:66::1;::::0;17859:209;-1:-1:-1;;;;17859:209:66:o;13731:315:65:-;13857:11;13808:6;:13;;;13823:6;:11;;;:18;1012:6;1004:5;:14;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;33443:25:84;;;33484:18;;;33477:34;;;33416:18;;1036:31:65;33269:248:84;1000:75:65;13900:11;;13932:13:::1;::::0;::::1;::::0;;13985:25;;;13999:1:::1;13985:25:::0;13979:32;;-1:-1:-1;13932:13:65;;;14024:16:::1;13932:13:::0;14024:16:::1;:::i;:::-;;;::::0;::::1;13873:173;;13731:315:::0;;;;;:::o;18997:541:66:-;19139:10;19161:17;19181:18;:6;:16;:18::i;:::-;19161:38;;19210:11;:19;;19225:4;19210:19;19206:59;;-1:-1:-1;;;;;19240:17:66;;;;;19206:59;19277;19296:6;19311:11;19325:4;19311:18;19277:10;:59::i;:::-;19271:65;-1:-1:-1;;;;;;19347:17:66;;;;19343:190;;19382:26;;-1:-1:-1;;;19382:26:66;;-1:-1:-1;;;;;34856:31:84;;19382:26:66;;;34838:50:84;34811:18;;19382:26:66;34693:201:84;19343:190:66;19440:16;19426:31;;19440:16;19455:1;19440:16;;;;19426:31;19422:111;;19475:50;;-1:-1:-1;;;19475:50:66;;19496:16;19511:1;19496:16;;;;19475:50;;;33168:36:84;19496:16:66;33240:17:84;;33220:18;;;33213:45;33141:18;;19475:50:66;32998:266:84;12423:1074:65;12545:17;12591:6;-1:-1:-1;;;;;12581:17:65;-1:-1:-1;;;;;12581:17:65;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12581:17:65;;12574:24;;12629:12;12624:764;12655:6;-1:-1:-1;;;;;12647:14:65;:5;-1:-1:-1;;;;;12647:14:65;;12624:764;;;12684:10;12697:17;12707:6;12697:9;:17::i;:::-;12684:30;-1:-1:-1;12736:4:65;12729:11;;:16;12725:617;;12771:4;12764;:11;;;12760:571;;;12836:17;12846:6;12836:9;:17::i;:::-;12856:4;12836:24;12816:1;12800:4;12807;12800:11;12799:18;;;;:62;12792:69;;12886:1;12876:11;;;;12760:571;;;12918:4;12911;:11;;;12907:424;;;13034:17;13044:6;13034:9;:17::i;:::-;13054:4;13034:24;13014:1;12985:17;12995:6;12985:9;:17::i;:::-;13005:4;12985:24;12984:31;;;;12964:2;12948:4;12955;12948:11;12947:19;;;;:68;:112;12939:120;;13084:1;13074:11;;;;12907:424;;;13266:17;13276:6;13266:9;:17::i;:::-;13286:4;13266:24;13244:1;13215:17;13225:6;13215:9;:17::i;:::-;13235:4;13215:24;13214:31;;13194:2;13165:17;13175:6;13165:9;:17::i;:::-;13185:4;13165:24;13164:32;;;;13144:2;13128:4;13135;13128:11;13127:19;;;;:69;:118;:164;13120:171;;13316:1;13306:11;;;;12907:424;13373:4;13366:12;;13352:4;13357:5;-1:-1:-1;;;;;13352:11:65;;;;;;;;;:::i;:::-;;;;:26;-1:-1:-1;;;;;13352:26:65;;;;;;;;-1:-1:-1;;12663:8:65;;12624:764;;;-1:-1:-1;13456:20:65;;;13463:4;12423:1074;-1:-1:-1;12423:1074:65:o;3828:572::-;4018:12;3967:15;3976:6;3967;:15;:::i;:::-;3984:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;33443:25:84;;;33484:18;;;33477:34;;;33416:18;;1036:31:65;33269:248:84;1000:75:65;4062:11;;4042:17:::1;4111:6:::0;-1:-1:-1;;;;;4101:17:65;::::1;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;4101:17:65::1;-1:-1:-1::0;4080:38:65;-1:-1:-1;4231:2:65::1;4220:14:::0;;::::1;::::0;4259:26;;;;4298:77:::1;4220:14:::0;4259:26;4362:6;4298::::1;:77::i;:::-;-1:-1:-1::0;4389:5:65;;3828:572;-1:-1:-1;;;;;;;;3828:572:65:o;14288:323::-;14419:12;14366:6;:13;;;14382:1;14366:17;;;;:::i;:::-;14385:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;33443:25:84;;;33484:18;;;33477:34;;;33416:18;;1036:31:65;33269:248:84;1000:75:65;14463:11;;14495:13:::1;::::0;::::1;::::0;;14562:1:::1;14548:25:::0;;;;;14542:32;;-1:-1:-1;14495:13:65;;14587:18:::1;14562:1:::0;14495:13;14587:18:::1;:::i;:::-;::::0;;-1:-1:-1;14288:323:65;;;-1:-1:-1;;;;;14288:323:65:o;14853:::-;14984:12;14931:6;:13;;;14947:1;14931:17;;;;:::i;:::-;14950:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;33443:25:84;;;33484:18;;;33477:34;;;33416:18;;1036:31:65;33269:248:84;1000:75:65;15028:11;;15060:13:::1;::::0;::::1;::::0;;15127:1:::1;15113:25:::0;;;;;15107:32;;-1:-1:-1;15060:13:65;;15152:18:::1;15127:1:::0;15060:13;15152:18:::1;:::i;15418:323::-:0;15549:12;15496:6;:13;;;15512:1;15496:17;;;;:::i;:::-;15515:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;33443:25:84;;;33484:18;;;33477:34;;;33416:18;;1036:31:65;33269:248:84;1000:75:65;15593:11;;15625:13:::1;::::0;::::1;::::0;;15692:1:::1;15678:25:::0;;;;;15672:32;;-1:-1:-1;15625:13:65;;15717:18:::1;15692:1:::0;15625:13;15717:18:::1;:::i;4049:345:66:-:0;4125:22;;:::i;:::-;4166:222;;;;;;;;;4188:11;;-1:-1:-1;;;;;;;;;;;;;;2776:55:65;;;;;;;;2791:11;;2776:55;;-1:-1:-1;2811:13:65;;;;2776:55;;;;4166:222:66;;;;;;;4228:4;:16;;;4166:222;;;;;;4264:4;:14;;;4166:222;;;;;;4310:4;:26;;;4166:222;;;;;;4350:4;:8;;;-1:-1:-1;;;;;4166:222:66;;;;;4372:4;:8;;;-1:-1:-1;;;;;4166:222:66;;;;4159:229;;4049:345;;;:::o;7346:1309::-;7453:19;7417:4;1217:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:66;;33198:4:84;33186:17;;;1813:45:66;;;33168:36:84;33240:17;;;33220:18;;;33213:45;33141:18;;1813:45:66;32998:266:84;1765:101:66;7585:10:::1;7598:51;7609:4;:11;;;7622:4;:26;;;7598:10;:51::i;:::-;:55;::::0;7652:1:::1;7598:55;:::i;:::-;7585:68:::0;-1:-1:-1;7679:7:66::1;7585:68:::0;7685:1:::1;7679:7;:::i;:::-;-1:-1:-1::0;;;;;7668:19:66::1;-1:-1:-1::0;;;;;7668:19:66::1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;7660:27;;7699:7;7694:801;7717:3;-1:-1:-1::0;;;;;7712:8:66::1;:2;:8;7694:801;;;7789:13;:4;:11;:13::i;:::-;7782:20;;7888:11;:4;:9;:11::i;:::-;7876:5;7882:2;7876:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;:23;7912:6:::1;7917:1;7912:2:::0;:6:::1;:::i;:::-;:11:::0;:50;::::1;;;-1:-1:-1::0;7927:14:66::1;::::0;::::1;::::0;:35:::1;;1121:1;7927:35;;7912:50;7908:580;;;8002:14;::::0;;::::1;::::0;7982:54;;-1:-1:-1;;;7982:54:66;;33198:4:84;33186:17;;;7982:54:66::1;::::0;::::1;33168:36:84::0;1121:1:66::1;33220:18:84::0;;;33213:45;33141:18;;7982:54:66::1;32998:266:84::0;7908:580:66::1;8056:14;::::0;::::1;::::0;:34:::1;;1170:1;8056:34;::::0;:70:::1;;-1:-1:-1::0;8094:14:66::1;::::0;::::1;::::0;:32:::1;;1217:1;8094:32;8056:70;8052:436;;;8166:14;::::0;::::1;::::0;8139:23:::1;::::0;8166:34:::1;;1170:1;8166:34;:96;;8248:14;:4;:12;:14::i;:::-;8166:96;;;8216:16;:4;:14;:16::i;:::-;8139:134;;8363:9;8392:1;8373:9;:16;:20;;;;:::i;:::-;8363:31;;;;;;;;:::i;:::-;;;;;;;8356:38;;8128:276;8052:436;;;8467:11;:4;:9;:11::i;:::-;;8052:436;7722:5;;7694:801;;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:156:84:-;94:20;;143:2;133:13;;123:41;;160:1;157;150:12;175:159;242:20;;302:6;291:18;;281:29;;271:57;;324:1;321;314:12;339:290;426:6;434;487:2;475:9;466:7;462:23;458:32;455:52;;;503:1;500;493:12;455:52;526:41;557:9;526:41;:::i;:::-;516:51;;586:37;619:2;608:9;604:18;586:37;:::i;:::-;576:47;;339:290;;;;;:::o;835:127::-;896:10;891:3;887:20;884:1;877:31;927:4;924:1;917:15;951:4;948:1;941:15;967:251;1039:2;1033:9;;;1069:15;;-1:-1:-1;;;;;1099:34:84;;1135:22;;;1096:62;1093:88;;;1161:18;;:::i;:::-;1197:2;1190:22;967:251;:::o;1223:253::-;1295:2;1289:9;1337:4;1325:17;;-1:-1:-1;;;;;1357:34:84;;1393:22;;;1354:62;1351:88;;;1419:18;;:::i;1481:275::-;1552:2;1546:9;1617:2;1598:13;;-1:-1:-1;;1594:27:84;1582:40;;-1:-1:-1;;;;;1637:34:84;;1673:22;;;1634:62;1631:88;;;1699:18;;:::i;:::-;1735:2;1728:22;1481:275;;-1:-1:-1;1481:275:84:o;1761:530::-;1803:5;1856:3;1849:4;1841:6;1837:17;1833:27;1823:55;;1874:1;1871;1864:12;1823:55;1910:6;1897:20;-1:-1:-1;;;;;1932:2:84;1929:26;1926:52;;;1958:18;;:::i;:::-;2002:55;2045:2;2026:13;;-1:-1:-1;;2022:27:84;2051:4;2018:38;2002:55;:::i;:::-;2082:2;2073:7;2066:19;2128:3;2121:4;2116:2;2108:6;2104:15;2100:26;2097:35;2094:55;;;2145:1;2142;2135:12;2094:55;2210:2;2203:4;2195:6;2191:17;2184:4;2175:7;2171:18;2158:55;2258:1;2233:16;;;2251:4;2229:27;2222:38;;;;2237:7;1761:530;-1:-1:-1;;;1761:530:84:o;2296:320::-;2364:6;2417:2;2405:9;2396:7;2392:23;2388:32;2385:52;;;2433:1;2430;2423:12;2385:52;2473:9;2460:23;-1:-1:-1;;;;;2498:6:84;2495:30;2492:50;;;2538:1;2535;2528:12;2492:50;2561:49;2602:7;2593:6;2582:9;2578:22;2561:49;:::i;:::-;2551:59;2296:320;-1:-1:-1;;;;2296:320:84:o;2621:250::-;2706:1;2716:113;2730:6;2727:1;2724:13;2716:113;;;2806:11;;;2800:18;2787:11;;;2780:39;2752:2;2745:10;2716:113;;;-1:-1:-1;;2863:1:84;2845:16;;2838:27;2621:250::o;2876:270::-;2917:3;2955:5;2949:12;2982:6;2977:3;2970:19;2998:76;3067:6;3060:4;3055:3;3051:14;3044:4;3037:5;3033:16;2998:76;:::i;:::-;3128:2;3107:15;-1:-1:-1;;3103:29:84;3094:39;;;;3135:4;3090:50;;2876:270;-1:-1:-1;;2876:270:84:o;3151:225::-;3306:2;3295:9;3288:21;3269:4;3326:44;3366:2;3355:9;3351:18;3343:6;3326:44;:::i;3381:164::-;3470:20;;3519:1;3509:12;;3499:40;;3535:1;3532;3525:12;3550:188;3615:4;-1:-1:-1;;;;;3640:6:84;3637:30;3634:56;;;3670:18;;:::i;:::-;-1:-1:-1;3715:1:84;3711:14;3727:4;3707:25;;3550:188::o;3743:1750::-;3802:5;3855:3;3848:4;3840:6;3836:17;3832:27;3822:55;;3873:1;3870;3863:12;3822:55;3909:6;3896:20;3935:4;3959:65;3975:48;4020:2;3975:48;:::i;:::-;3959:65;:::i;:::-;4058:15;;;4144:1;4140:10;;;;4128:23;;4124:32;;;4089:12;;;;4168:15;;;4165:35;;;4196:1;4193;4186:12;4165:35;4232:2;4224:6;4220:15;4244:1220;4260:6;4255:3;4252:15;4244:1220;;;4346:3;4333:17;-1:-1:-1;;;;;4423:2:84;4410:11;4407:19;4404:109;;;4467:1;4496:2;4492;4485:14;4404:109;4548:11;4540:6;4536:24;4526:34;;4600:3;4595:2;4591;4587:11;4583:21;4573:119;;4646:1;4675:2;4671;4664:14;4573:119;4718:22;;:::i;:::-;4766:5;4808:2;4804;4800:11;4840:3;4830:8;4827:17;4824:107;;;4885:1;4914:2;4910;4903:14;4824:107;4965:2;4961;4957:11;4981:410;4999:8;4992:5;4989:19;4981:410;;;5101:5;5088:19;5145:2;5130:13;5127:21;5124:127;;;5197:1;5230:2;5226;5219:14;5124:127;5282:54;5332:3;5327:2;5311:13;5307:2;5303:22;5299:31;5282:54;:::i;:::-;5268:69;;-1:-1:-1;5363:14:84;;;;5020;;4981:410;;;-1:-1:-1;;5404:18:84;;-1:-1:-1;;;5442:12:84;;;;4277;;4244:1220;;;-1:-1:-1;5482:5:84;3743:1750;-1:-1:-1;;;;;;3743:1750:84:o;5498:1129::-;5709:6;5717;5725;5733;5741;5794:3;5782:9;5773:7;5769:23;5765:33;5762:53;;;5811:1;5808;5801:12;5762:53;5834:50;5874:9;5834:50;:::i;:::-;5824:60;;5935:2;5924:9;5920:18;5907:32;-1:-1:-1;;;;;5999:2:84;5991:6;5988:14;5985:34;;;6015:1;6012;6005:12;5985:34;6038:49;6079:7;6070:6;6059:9;6055:22;6038:49;:::i;:::-;6028:59;;6140:2;6129:9;6125:18;6112:32;6096:48;;6169:2;6159:8;6156:16;6153:36;;;6185:1;6182;6175:12;6153:36;6208:51;6251:7;6240:8;6229:9;6225:24;6208:51;:::i;:::-;6198:61;;6312:2;6301:9;6297:18;6284:32;6268:48;;6341:2;6331:8;6328:16;6325:36;;;6357:1;6354;6347:12;6325:36;6380:68;6440:7;6429:8;6418:9;6414:24;6380:68;:::i;:::-;6370:78;;6501:3;6490:9;6486:19;6473:33;6457:49;;6531:2;6521:8;6518:16;6515:36;;;6547:1;6544;6537:12;6515:36;;6570:51;6613:7;6602:8;6591:9;6587:24;6570:51;:::i;:::-;6560:61;;;5498:1129;;;;;;;;:::o;6822:161::-;6907:20;;6956:2;6946:13;;6936:41;;6973:1;6970;6963:12;6988:496;7046:5;7094:4;7082:9;7077:3;7073:19;7069:30;7066:50;;;7112:1;7109;7102:12;7066:50;7134:22;;:::i;:::-;7125:31;;7193:9;7180:23;7234:2;7225:7;7222:15;7212:43;;7251:1;7248;7241:12;7212:43;7264:22;;7337:2;7322:18;;7309:32;-1:-1:-1;;;;;7353:30:84;;7350:50;;;7396:1;7393;7386:12;7350:50;7432:45;7473:3;7464:6;7453:9;7449:22;7432:45;:::i;:::-;7427:2;7420:5;7416:14;7409:69;;6988:496;;;;:::o;7489:1478::-;7579:6;7610:2;7653;7641:9;7632:7;7628:23;7624:32;7621:52;;;7669:1;7666;7659:12;7621:52;7709:9;7696:23;-1:-1:-1;;;;;7779:2:84;7771:6;7768:14;7765:34;;;7795:1;7792;7785:12;7765:34;7818:22;;;;7874:4;7856:16;;;7852:27;7849:47;;;7892:1;7889;7882:12;7849:47;7918:22;;:::i;:::-;7963:39;7999:2;7963:39;:::i;:::-;7956:5;7949:54;8049:2;8045;8041:11;8028:25;8078:2;8068:8;8065:16;8062:36;;;8094:1;8091;8084:12;8062:36;8125:8;8121:2;8117:17;8107:27;;;8172:7;8165:4;8161:2;8157:13;8153:27;8143:55;;8194:1;8191;8184:12;8143:55;8230:2;8217:16;8253:65;8269:48;8314:2;8269:48;:::i;8253:65::-;8352:15;;;8434:1;8430:10;;;;8422:19;;8418:28;;;8383:12;;;;8458:19;;;8455:39;;;8490:1;8487;8480:12;8455:39;8522:2;8518;8514:11;8534:365;8550:6;8545:3;8542:15;8534:365;;;8636:3;8623:17;8672:2;8659:11;8656:19;8653:109;;;8716:1;8745:2;8741;8734:14;8653:109;8787:69;8848:7;8843:2;8829:11;8825:2;8821:20;8817:29;8787:69;:::i;:::-;8775:82;;-1:-1:-1;8877:12:84;;;;8567;;8534:365;;;-1:-1:-1;8915:14:84;;;8908:29;;;;-1:-1:-1;8919:5:84;7489:1478;-1:-1:-1;;;;;;7489:1478:84:o;8972:228::-;9056:6;9109:2;9097:9;9088:7;9084:23;9080:32;9077:52;;;9125:1;9122;9115:12;9077:52;9148:46;9184:9;9148:46;:::i;9205:156::-;9271:20;;9331:4;9320:16;;9310:27;;9300:55;;9351:1;9348;9341:12;9366:171;9433:20;;-1:-1:-1;;;;;9482:30:84;;9472:41;;9462:69;;9527:1;9524;9517:12;9542:731;9628:6;9681:3;9669:9;9660:7;9656:23;9652:33;9649:53;;;9698:1;9695;9688:12;9649:53;9731:2;9725:9;9773:3;9765:6;9761:16;9843:6;9831:10;9828:22;-1:-1:-1;;;;;9795:10:84;9792:34;9789:62;9786:88;;;9854:18;;:::i;:::-;9890:2;9883:22;9929:27;9946:9;9929:27;:::i;:::-;9921:6;9914:43;9990:36;10022:2;10011:9;10007:18;9990:36;:::i;:::-;9985:2;9977:6;9973:15;9966:61;10060:37;10093:2;10082:9;10078:18;10060:37;:::i;:::-;10055:2;10047:6;10043:15;10036:62;10131:37;10164:2;10153:9;10149:18;10131:37;:::i;:::-;10126:2;10118:6;10114:15;10107:62;10203:38;10236:3;10225:9;10221:19;10203:38;:::i;:::-;10197:3;10185:16;;10178:64;10189:6;9542:731;-1:-1:-1;;;9542:731:84:o;10278:1185::-;10339:5;10387:4;10375:9;10370:3;10366:19;10362:30;10359:50;;;10405:1;10402;10395:12;10359:50;10427:22;;:::i;:::-;10418:31;;10472:27;10489:9;10472:27;:::i;:::-;10465:5;10458:42;10532:59;10587:2;10576:9;10572:18;10532:59;:::i;:::-;10527:2;10520:5;10516:14;10509:83;10624:50;10670:2;10659:9;10655:18;10624:50;:::i;:::-;10619:2;10612:5;10608:14;10601:74;10726:2;10715:9;10711:18;10698:32;-1:-1:-1;;;;;10790:2:84;10782:6;10779:14;10776:34;;;10806:1;10803;10796:12;10776:34;10842:45;10883:3;10874:6;10863:9;10859:22;10842:45;:::i;:::-;10837:2;10830:5;10826:14;10819:69;10941:3;10930:9;10926:19;10913:33;10897:49;;10971:2;10961:8;10958:16;10955:36;;;10987:1;10984;10977:12;10955:36;11024:47;11067:3;11056:8;11045:9;11041:24;11024:47;:::i;:::-;11018:3;11011:5;11007:15;11000:72;11125:3;11114:9;11110:19;11097:33;11081:49;;11155:2;11145:8;11142:16;11139:36;;;11171:1;11168;11161:12;11139:36;11208:64;11268:3;11257:8;11246:9;11242:24;11208:64;:::i;:::-;11202:3;11195:5;11191:15;11184:89;11326:3;11315:9;11311:19;11298:33;11282:49;;11356:2;11346:8;11343:16;11340:36;;;11372:1;11369;11362:12;11340:36;;11409:47;11452:3;11441:8;11430:9;11426:24;11409:47;:::i;:::-;11403:3;11396:5;11392:15;11385:72;;10278:1185;;;;:::o;11468:892::-;11521:5;11574:3;11567:4;11559:6;11555:17;11551:27;11541:55;;11592:1;11589;11582:12;11541:55;11628:6;11615:20;11654:4;11678:65;11694:48;11739:2;11694:48;:::i;11678:65::-;11777:15;;;11863:1;11859:10;;;;11847:23;;11843:32;;;11808:12;;;;11887:15;;;11884:35;;;11915:1;11912;11905:12;11884:35;11951:2;11943:6;11939:15;11963:368;11979:6;11974:3;11971:15;11963:368;;;12065:3;12052:17;-1:-1:-1;;;;;12088:11:84;12085:35;12082:125;;;12161:1;12190:2;12186;12179:14;12082:125;12232:56;12284:3;12279:2;12265:11;12257:6;12253:24;12249:33;12232:56;:::i;:::-;12220:69;;-1:-1:-1;12309:12:84;;;;11996;;11963:368;;12365:616;12501:6;12509;12562:2;12550:9;12541:7;12537:23;12533:32;12530:52;;;12578:1;12575;12568:12;12530:52;12618:9;12605:23;-1:-1:-1;;;;;12688:2:84;12680:6;12677:14;12674:34;;;12704:1;12701;12694:12;12674:34;12727:65;12784:7;12775:6;12764:9;12760:22;12727:65;:::i;:::-;12717:75;;12845:2;12834:9;12830:18;12817:32;12801:48;;12874:2;12864:8;12861:16;12858:36;;;12890:1;12887;12880:12;12858:36;;12913:62;12967:7;12956:8;12945:9;12941:24;12913:62;:::i;:::-;12903:72;;;12365:616;;;;;:::o;13312:388::-;13389:6;13397;13450:2;13438:9;13429:7;13425:23;13421:32;13418:52;;;13466:1;13463;13456:12;13418:52;13506:9;13493:23;-1:-1:-1;;;;;13531:6:84;13528:30;13525:50;;;13571:1;13568;13561:12;13525:50;13594:49;13635:7;13626:6;13615:9;13611:22;13594:49;:::i;:::-;13584:59;13690:2;13675:18;;;;13662:32;;-1:-1:-1;;;;13312:388:84:o;13705:354::-;13794:6;13847:2;13835:9;13826:7;13822:23;13818:32;13815:52;;;13863:1;13860;13853:12;13815:52;13903:9;13890:23;-1:-1:-1;;;;;13928:6:84;13925:30;13922:50;;;13968:1;13965;13958:12;13922:50;13991:62;14045:7;14036:6;14025:9;14021:22;13991:62;:::i;14064:351::-;14130:6;14138;14191:2;14179:9;14170:7;14166:23;14162:32;14159:52;;;14207:1;14204;14197:12;14159:52;14230:28;14248:9;14230:28;:::i;:::-;14220:38;-1:-1:-1;14308:2:84;14293:18;;14280:32;-1:-1:-1;;;;;;14341:25:84;;14331:36;;14321:64;;14381:1;14378;14371:12;14321:64;14404:5;14394:15;;;14064:351;;;;;:::o;14420:913::-;14483:5;14536:3;14529:4;14521:6;14517:17;14513:27;14503:55;;14554:1;14551;14544:12;14503:55;14590:6;14577:20;14616:4;14640:65;14656:48;14701:2;14656:48;:::i;14640:65::-;14739:15;;;14825:1;14821:10;;;;14809:23;;14805:32;;;14770:12;;;;14849:15;;;14846:35;;;14877:1;14874;14867:12;14846:35;14913:2;14905:6;14901:15;14925:379;14941:6;14936:3;14933:15;14925:379;;;15027:3;15014:17;-1:-1:-1;;;;;15050:11:84;15047:35;15044:125;;;15123:1;15152:2;15148;15141:14;15044:125;15194:67;15257:3;15252:2;15238:11;15230:6;15226:24;15222:33;15194:67;:::i;:::-;15182:80;;-1:-1:-1;15282:12:84;;;;14958;;14925:379;;15338:1918;15568:6;15576;15584;15592;15600;15653:3;15641:9;15632:7;15628:23;15624:33;15621:53;;;15670:1;15667;15660:12;15621:53;15710:9;15697:23;-1:-1:-1;;;;;15780:2:84;15772:6;15769:14;15766:34;;;15796:1;15793;15786:12;15766:34;15834:6;15823:9;15819:22;15809:32;;15879:7;15872:4;15868:2;15864:13;15860:27;15850:55;;15901:1;15898;15891:12;15850:55;15937:2;15924:16;15959:4;15983:65;15999:48;16044:2;15999:48;:::i;15983:65::-;16082:15;;;16164:1;16160:10;;;;16152:19;;16148:28;;;16113:12;;;;16188:19;;;16185:39;;;16220:1;16217;16210:12;16185:39;16252:2;16248;16244:11;16264:368;16280:6;16275:3;16272:15;16264:368;;;16366:3;16353:17;16402:2;16389:11;16386:19;16383:109;;;16446:1;16475:2;16471;16464:14;16383:109;16517:72;16581:7;16576:2;16562:11;16558:2;16554:20;16550:29;16517:72;:::i;:::-;16505:85;;-1:-1:-1;16610:12:84;;;;16297;;16264:368;;;-1:-1:-1;16651:5:84;-1:-1:-1;;16694:18:84;;16681:32;;-1:-1:-1;;16725:16:84;;;16722:36;;;16754:1;16751;16744:12;16722:36;16777:72;16841:7;16830:8;16819:9;16815:24;16777:72;:::i;:::-;16767:82;;16902:2;16891:9;16887:18;16874:32;16858:48;;16931:2;16921:8;16918:16;16915:36;;;16947:1;16944;16937:12;16915:36;16970:51;17013:7;17002:8;16991:9;16987:24;16970:51;:::i;:::-;16960:61;;17074:2;17063:9;17059:18;17046:32;17030:48;;17103:2;17093:8;17090:16;17087:36;;;17119:1;17116;17109:12;17087:36;;17142:51;17185:7;17174:8;17163:9;17159:24;17142:51;:::i;:::-;17132:61;;;17212:38;17245:3;17234:9;17230:19;17212:38;:::i;:::-;17202:48;;15338:1918;;;;;;;;:::o;17261:576::-;17373:6;17381;17434:2;17422:9;17413:7;17409:23;17405:32;17402:52;;;17450:1;17447;17440:12;17402:52;17490:9;17477:23;-1:-1:-1;;;;;17560:2:84;17552:6;17549:14;17546:34;;;17576:1;17573;17566:12;17546:34;17599:49;17640:7;17631:6;17620:9;17616:22;17599:49;:::i;17842:127::-;17903:10;17898:3;17894:20;17891:1;17884:31;17934:4;17931:1;17924:15;17958:4;17955:1;17948:15;17974:260;18134:2;18119:18;;18167:2;18156:14;;18146:48;;18174:18;;:::i;:::-;18203:25;;;17974:260;:::o;18239:360::-;18331:6;18384:2;18372:9;18363:7;18359:23;18355:32;18352:52;;;18400:1;18397;18390:12;18352:52;18440:9;18427:23;-1:-1:-1;;;;;18465:6:84;18462:30;18459:50;;;18505:1;18502;18495:12;18459:50;18528:65;18585:7;18576:6;18565:9;18561:22;18528:65;:::i;18876:127::-;18937:10;18932:3;18928:20;18925:1;18918:31;18968:4;18965:1;18958:15;18992:4;18989:1;18982:15;19008:168;19075:6;19101:10;;;19113;;;19097:27;;19136:11;;;19133:37;;;19150:18;;:::i;19181:1069::-;19239:3;19270;19302:5;19296:12;19329:6;19324:3;19317:19;19355:4;19384:2;19379:3;19375:12;19368:19;;19440:2;19430:6;19427:1;19423:14;19416:5;19412:26;19408:35;19477:2;19470:5;19466:14;19498:1;19519;19529:695;19545:6;19540:3;19537:15;19529:695;;;19614:16;;;-1:-1:-1;;19610:30:84;19598:43;;19664:13;;19618:4;19770:2;19760:13;;19828:1;19842:275;19858:4;19853:3;19850:13;19842:275;;;19943:4;19935:6;19931:17;19924:5;19917:32;19976:41;20010:6;19999:8;19993:15;19976:41;:::i;:::-;20046:17;;;;20089:14;;;;19966:51;-1:-1:-1;19882:1:84;19873:11;19842:275;;;-1:-1:-1;20202:12:84;;;;20138:6;-1:-1:-1;;;20167:15:84;;;;19571:1;19562:11;19529:695;;;-1:-1:-1;20240:4:84;;19181:1069;-1:-1:-1;;;;;;;;19181:1069:84:o;20255:736::-;20632:4;20624:6;20620:17;20609:9;20602:36;20674:3;20669:2;20658:9;20654:18;20647:31;20583:4;20701:45;20741:3;20730:9;20726:19;20718:6;20701:45;:::i;:::-;20794:9;20786:6;20782:22;20777:2;20766:9;20762:18;20755:50;20828:32;20853:6;20845;20828:32;:::i;:::-;20814:46;;20908:9;20900:6;20896:22;20891:2;20880:9;20876:18;20869:50;20936:49;20978:6;20970;20936:49;:::i;:::-;20928:57;20255:736;-1:-1:-1;;;;;;;20255:736:84:o;20996:973::-;21401:4;21441:1;21433:6;21430:13;21420:47;;21447:18;;:::i;:::-;21494:6;21483:9;21476:25;21537:3;21532:2;21521:9;21517:18;21510:31;21564:45;21604:3;21593:9;21589:19;21581:6;21564:45;:::i;:::-;21657:9;21649:6;21645:22;21640:2;21629:9;21625:18;21618:50;21691:32;21716:6;21708;21691:32;:::i;:::-;21677:46;;21771:9;21763:6;21759:22;21754:2;21743:9;21739:18;21732:50;21805:49;21847:6;21839;21805:49;:::i;:::-;21791:63;;21903:9;21895:6;21891:22;21885:3;21874:9;21870:19;21863:51;21931:32;21956:6;21948;21931:32;:::i;:::-;21923:40;20996:973;-1:-1:-1;;;;;;;;20996:973:84:o;21974:127::-;22035:10;22030:3;22026:20;22023:1;22016:31;22066:4;22063:1;22056:15;22090:4;22087:1;22080:15;22106:492;22281:3;22319:6;22313:13;22335:66;22394:6;22389:3;22382:4;22374:6;22370:17;22335:66;:::i;:::-;22464:13;;22423:16;;;;22486:70;22464:13;22423:16;22533:4;22521:17;;22486:70;:::i;:::-;22572:20;;22106:492;-1:-1:-1;;;;22106:492:84:o;24740:127::-;24801:10;24796:3;24792:20;24789:1;24782:31;24832:4;24829:1;24822:15;24856:4;24853:1;24846:15;24872:199;24911:1;-1:-1:-1;;;;;24982:2:84;24979:1;24975:10;25004:3;24994:37;;25011:18;;:::i;:::-;25049:10;;25045:20;;;;;24872:199;-1:-1:-1;;24872:199:84:o;25556:1107::-;25869:3;25907:6;25901:13;25923:66;25982:6;25977:3;25970:4;25962:6;25958:17;25923:66;:::i;:::-;26052:13;;26011:16;;;;26074:70;26052:13;26011:16;26121:4;26109:17;;26074:70;:::i;:::-;26211:13;;26166:20;;;26233:70;26211:13;26166:20;26280:4;26268:17;;26233:70;:::i;:::-;26370:13;;26325:20;;;26392:70;26370:13;26325:20;26439:4;26427:17;;26392:70;:::i;:::-;26529:13;;26484:20;;;26551:70;26529:13;26484:20;26598:4;26586:17;;26551:70;:::i;:::-;26637:20;;25556:1107;-1:-1:-1;;;;;;;25556:1107:84:o;26668:385::-;26882:3;26877;26873:13;26864:6;26859:3;26855:16;26851:36;26846:3;26839:49;26821:3;26917:6;26911:13;26933:74;27000:6;26996:1;26991:3;26987:11;26980:4;26972:6;26968:17;26933:74;:::i;:::-;27027:16;;;;27045:1;27023:24;;26668:385;-1:-1:-1;;;26668:385:84:o;27936:589::-;28196:3;28191;28187:13;28178:6;28173:3;28169:16;28165:36;28160:3;28153:49;28135:3;28231:6;28225:13;28247:74;28314:6;28310:1;28305:3;28301:11;28294:4;28286:6;28282:17;28247:74;:::i;:::-;28381:13;;28340:16;;;;28403:75;28381:13;28465:1;28457:10;;28450:4;28438:17;;28403:75;:::i;:::-;28498:17;28517:1;28494:25;;27936:589;-1:-1:-1;;;;;27936:589:84:o;28530:295::-;28713:4;28705:6;28701:17;28690:9;28683:36;28755:2;28750;28739:9;28735:18;28728:30;28664:4;28775:44;28815:2;28804:9;28800:18;28792:6;28775:44;:::i;29019:902::-;29286:3;29324:6;29318:13;29340:66;29399:6;29394:3;29387:4;29379:6;29375:17;29340:66;:::i;:::-;29469:13;;29428:16;;;;29491:70;29469:13;29428:16;29538:4;29526:17;;29491:70;:::i;:::-;29628:13;;29583:20;;;29650:70;29628:13;29583:20;29697:4;29685:17;;29650:70;:::i;:::-;29787:13;;29742:20;;;29809:70;29787:13;29742:20;29856:4;29844:17;;29809:70;:::i;:::-;29895:20;;29019:902;-1:-1:-1;;;;;;29019:902:84:o;29926:697::-;30147:3;30185:6;30179:13;30201:66;30260:6;30255:3;30248:4;30240:6;30236:17;30201:66;:::i;:::-;30330:13;;30289:16;;;;30352:70;30330:13;30289:16;30399:4;30387:17;;30352:70;:::i;:::-;30489:13;;30444:20;;;30511:70;30489:13;30444:20;30558:4;30546:17;;30511:70;:::i;:::-;30597:20;;29926:697;-1:-1:-1;;;;;29926:697:84:o;30628:125::-;30693:9;;;30714:10;;;30711:36;;;30727:18;;:::i;30758:1323::-;31117:3;31155:6;31149:13;31181:4;31194:64;31251:6;31246:3;31241:2;31233:6;31229:15;31194:64;:::i;:::-;31321:13;;31280:16;;;;31343:68;31321:13;31280:16;31378:15;;;31343:68;:::i;:::-;31478:13;;31433:20;;;31500:68;31478:13;31433:20;31535:15;;;31500:68;:::i;:::-;31635:13;;31590:20;;;31657:68;31635:13;31590:20;31692:15;;;31657:68;:::i;:::-;31792:13;;31747:20;;;31814:68;31792:13;31747:20;31849:15;;;31814:68;:::i;:::-;31949:13;;31904:20;;;31971:68;31949:13;31904:20;32006:15;;;31971:68;:::i;:::-;32055:20;;;;;30758:1323;-1:-1:-1;;;;;;;;;30758:1323:84:o;32086:128::-;32153:9;;;32174:11;;;32171:37;;;32188:18;;:::i;32627:366::-;32826:2;32815:9;32808:21;32789:4;32846:44;32886:2;32875:9;32871:18;32863:6;32846:44;:::i;:::-;32838:52;;32926:6;32921:2;32910:9;32906:18;32899:34;32981:4;32973:6;32969:17;32964:2;32953:9;32949:18;32942:45;32627:366;;;;;;:::o;33522:135::-;33561:3;33582:17;;;33579:43;;33602:18;;:::i;:::-;-1:-1:-1;33649:1:84;33638:13;;33522:135::o;34352:151::-;34442:4;34435:12;;;34421;;;34417:31;;34460:14;;34457:40;;;34477:18;;:::i;34508:180::-;-1:-1:-1;;;;;34613:10:84;;;34625;;;34609:27;;34648:11;;;34645:37;;;34662:18;;:::i;34899:257::-;-1:-1:-1;;;;;35020:10:84;;;35032;;;35016:27;35063:20;;;;34970:18;35102:24;;;35092:58;;35130:18;;:::i;:::-;35092:58;;34899:257;;;;:::o;35161:112::-;35193:1;35219;35209:35;;35224:18;;:::i;:::-;-1:-1:-1;35258:9:84;;35161:112::o",
  "source": "// SPDX-License-Identifier: MIT\r\n\r\npragma solidity >=0.8.0 <0.9.0;\r\n\r\nimport \"./Witnet.sol\";\r\n\r\n/// @title A library for encoding Witnet Data Requests.\r\n/// @author The Witnet Foundation.\r\nlibrary WitnetEncodingLib {\r\n\r\n    using WitnetBuffer for WitnetBuffer.Buffer;\r\n    using WitnetCBOR for WitnetCBOR.CBOR;\r\n    using WitnetCBOR for WitnetCBOR.CBOR[];\r\n\r\n    bytes internal constant WITNET_RADON_OPCODES_RESULT_TYPES =\r\n        hex\"10ffffffffffffffffffffffffffffff040100010203050406071311ff0101ff07ff02ffffffffffffffffffffffffff070304ff04ffffffffffffff03ffffff0405070202ff0404040403ffffffffff05070402040205050505ff04ff04ffff07010203050406070101ff06ffff06ff0203050404000106060707070701ffff\";\r\n            // 10ffffffffffffffffffffffffffffff\r\n            // 040100001203050406070100ff0101ff\r\n            // 07ff02ffffffffffffffffffffffffff\r\n            // 070304ff04ffffffffffffff03ffffff\r\n            // 0405070202ff0404040403ffffffffff\r\n            // 05070402040205050505ff04ff04ffff\r\n            // 07010203050406070101ff06ffff06ff\r\n            // 0203050404000106060707070701ffff\r\n\r\n    error UnsupportedDataRequestMethod(uint8 method, string schema, string body, string[2][] headers);\r\n    error UnsupportedRadonDataType(uint8 datatype, uint256 maxlength);\r\n    error UnsupportedRadonFilterOpcode(uint8 opcode);\r\n    error UnsupportedRadonFilterArgs(uint8 opcode, bytes args);\r\n    error UnsupportedRadonReducerOpcode(uint8 opcode);\r\n    error UnsupportedRadonReducerScript(uint8 opcode, bytes script, uint256 offset);\r\n    error UnsupportedRadonScript(bytes script, uint256 offset);\r\n    error UnsupportedRadonScriptOpcode(bytes script, uint256 cursor, uint8 opcode);\r\n    error UnsupportedRadonTallyScript(bytes32 hash);\r\n\r\n    /// ===============================================================================================================\r\n    /// --- WitnetEncodingLib internal methods --------------------------------------------------------------------------------\r\n\r\n    function size(Witnet.RadonDataTypes _type) internal pure returns (uint16) {\r\n        if (_type == Witnet.RadonDataTypes.Integer\r\n            || _type == Witnet.RadonDataTypes.Float\r\n        ) {\r\n            return 9;\r\n        } else if (_type == Witnet.RadonDataTypes.Bool) {\r\n            return 1;\r\n        } else {\r\n            // undetermined\r\n            return 0; \r\n        }\r\n    }\r\n\r\n\r\n    /// ===============================================================================================================\r\n    /// --- WitnetEncodingLib public methods (if used library will have to linked to calling contracts) -----------------------\r\n\r\n    /// @notice Encode bytes array into given major type (UTF-8 not yet supported)\r\n    /// @param buf Bytes array\r\n    /// @return Marshaled bytes\r\n    function encode(bytes memory buf, uint majorType)\r\n        public pure\r\n        returns (bytes memory)\r\n    {\r\n        uint len = buf.length;\r\n        if (len < 23) {\r\n            return abi.encodePacked(\r\n                uint8((majorType << 5) | uint8(len)),\r\n                buf\r\n            );\r\n        } else {\r\n            uint8 buf0 = uint8((majorType << 5));\r\n            bytes memory buf1;\r\n            if (len <= 0xff) {\r\n                buf0 |= 24;\r\n                buf1 = abi.encodePacked(uint8(len));                \r\n            } else if (len <= 0xffff) {\r\n                buf0 |= 25;\r\n                buf1 = abi.encodePacked(uint16(len));\r\n            } else if (len <= 0xffffffff) {\r\n                buf0 |= 26;\r\n                buf1 = abi.encodePacked(uint32(len));\r\n            } else {\r\n                buf0 |= 27;\r\n                buf1 = abi.encodePacked(uint64(len));\r\n            }\r\n            return abi.encodePacked(\r\n                buf0,\r\n                buf1,\r\n                buf\r\n            );\r\n        }\r\n    }\r\n\r\n    /// @notice Encode bytes array.\r\n    /// @param buf Bytes array\r\n    /// @return Mashaled bytes\r\n    function encode(bytes memory buf)\r\n        public pure\r\n        returns (bytes memory)\r\n    {\r\n        return encode(buf, WitnetCBOR.MAJOR_TYPE_BYTES);\r\n    } \r\n\r\n    /// @notice Encode string array (UTF-8 not yet supported).\r\n    /// @param str String bytes.\r\n    /// @return Mashaled bytes\r\n    function encode(string memory str)\r\n        public pure\r\n        returns (bytes memory)\r\n    {\r\n        return encode(bytes(str), WitnetCBOR.MAJOR_TYPE_STRING);\r\n    }\r\n\r\n    /// @dev Encode uint64 into tagged varint.\r\n    /// @dev See https://developers.google.com/protocol-buffers/docs/encoding#varints.\r\n    /// @param n Number\r\n    /// @param t Tag\r\n    /// @return buf Marshaled bytes\r\n    function encode(uint64 n, bytes1 t)\r\n        public pure\r\n        returns (bytes memory buf)\r\n    {\r\n        unchecked {\r\n            // Count the number of groups of 7 bits\r\n            // We need this pre-processing step since Solidity doesn't allow dynamic memory resizing\r\n            uint64 tmp = n;\r\n            uint64 numBytes = 2;\r\n            while (tmp > 0x7F) {\r\n                tmp = tmp >> 7;\r\n                numBytes += 1;\r\n            }\r\n            buf = new bytes(numBytes);\r\n            tmp = n;\r\n            buf[0] = t;\r\n            for (uint64 i = 1; i < numBytes; i++) {\r\n                // Set the first bit in the byte for each group of 7 bits\r\n                buf[i] = bytes1(0x80 | uint8(tmp & 0x7F));\r\n                tmp = tmp >> 7;\r\n            }\r\n            // Unset the first bit of the last byte\r\n            buf[numBytes - 1] &= 0x7F;\r\n        }\r\n    }   \r\n\r\n    function encode(Witnet.RadonRetrieval memory source)\r\n        public pure\r\n        returns (bytes memory)\r\n    {\r\n        bytes memory _encodedMethod = encode(uint64(source.method), bytes1(0x08));\r\n        bytes memory _encodedUrl;\r\n        if (bytes(source.url).length > 0) {\r\n            _encodedUrl = abi.encodePacked(\r\n                encode(uint64(bytes(source.url).length), bytes1(0x12)),\r\n                bytes(source.url)\r\n            );\r\n        }\r\n        bytes memory _encodedScript;\r\n        if (source.script.length > 0) {\r\n            _encodedScript = abi.encodePacked(\r\n                encode(uint64(source.script.length), bytes1(0x1a)),\r\n                source.script\r\n            );\r\n        }\r\n        bytes memory _encodedBody;\r\n        if (bytes(source.body).length > 0) {\r\n            _encodedBody = abi.encodePacked(\r\n                encode(uint64(bytes(source.body).length), bytes1(0x22)),\r\n                bytes(source.body)\r\n            );\r\n        }\r\n        bytes memory _encodedHeaders;\r\n        if (source.headers.length > 0) {\r\n            for (uint _ix = 0; _ix < source.headers.length; _ix ++) {\r\n                bytes memory _headers = abi.encodePacked(\r\n                    encode(uint64(bytes(source.headers[_ix][0]).length), bytes1(0x0a)),\r\n                    bytes(source.headers[_ix][0]),\r\n                    encode(uint64(bytes(source.headers[_ix][1]).length), bytes1(0x12)),\r\n                    bytes(source.headers[_ix][1])\r\n                );\r\n                _encodedHeaders = abi.encodePacked(\r\n                    _encodedHeaders,\r\n                    encode(uint64(_headers.length), bytes1(0x2a)),\r\n                    _headers\r\n                );\r\n            }\r\n        }\r\n        uint _innerSize = (\r\n            _encodedMethod.length\r\n                + _encodedUrl.length\r\n                + _encodedScript.length\r\n                + _encodedBody.length\r\n                + _encodedHeaders.length\r\n        );\r\n        return abi.encodePacked(\r\n            encode(uint64(_innerSize), bytes1(0x12)),\r\n            _encodedMethod,\r\n            _encodedUrl,\r\n            _encodedScript,\r\n            _encodedBody,\r\n            _encodedHeaders\r\n        );\r\n    }\r\n\r\n    function encode(\r\n            Witnet.RadonRetrieval[] memory sources,\r\n            string[][] memory args,\r\n            bytes memory aggregatorInnerBytecode,\r\n            bytes memory tallyInnerBytecode,\r\n            uint16\r\n        )\r\n        public pure\r\n        returns (bytes memory)\r\n    {\r\n        bytes[] memory encodedSources = new bytes[](sources.length);\r\n        for (uint ix = 0; ix < sources.length; ix ++) {\r\n            replaceWildcards(sources[ix], args[ix]);\r\n            encodedSources[ix] = encode(sources[ix]);\r\n        }\r\n        return abi.encodePacked(\r\n            WitnetBuffer.concat(encodedSources),\r\n            encode(uint64(aggregatorInnerBytecode.length), bytes1(0x1a)),\r\n            aggregatorInnerBytecode,\r\n            encode(uint64(tallyInnerBytecode.length), bytes1(0x22)),\r\n            tallyInnerBytecode\r\n        );\r\n    }\r\n\r\n    function encode(Witnet.RadonReducer memory reducer)\r\n        public pure\r\n        returns (bytes memory bytecode)\r\n    {\r\n        // if (reducer.script.length == 0) {\r\n            for (uint ix = 0; ix < reducer.filters.length; ix ++) {\r\n                bytecode = abi.encodePacked(\r\n                    bytecode,\r\n                    encode(reducer.filters[ix])\r\n                );\r\n            }\r\n            bytecode = abi.encodePacked(\r\n                bytecode,\r\n                encode(reducer.opcode)\r\n            );\r\n        // } else {\r\n        //     return abi.encodePacked(\r\n        //         encode(uint64(reducer.script.length), bytes1(0x18)),\r\n        //         reducer.script\r\n        //     );\r\n        // }\r\n    }\r\n\r\n    function encode(Witnet.RadonFilter memory filter)\r\n        public pure\r\n        returns (bytes memory bytecode)\r\n    {        \r\n        bytecode = abi.encodePacked(\r\n            encode(uint64(filter.opcode), bytes1(0x08)),\r\n            filter.args.length > 0\r\n                ? abi.encodePacked(\r\n                    encode(uint64(filter.args.length), bytes1(0x12)),\r\n                    filter.args\r\n                ) : bytes(\"\")\r\n        );\r\n        return abi.encodePacked(\r\n            encode(uint64(bytecode.length), bytes1(0x0a)),\r\n            bytecode\r\n        );\r\n    }\r\n\r\n    function encode(Witnet.RadonReducerOpcodes opcode)\r\n        public pure\r\n        returns (bytes memory)\r\n    {\r\n        \r\n        return encode(uint64(opcode), bytes1(0x10));\r\n    }\r\n\r\n    function encode(Witnet.RadonSLA memory sla)\r\n        public pure\r\n        returns (bytes memory)\r\n    {\r\n        return abi.encodePacked(\r\n            encode(uint64(sla.witnessReward), bytes1(0x10)),\r\n            encode(uint64(sla.numWitnesses), bytes1(0x18)),\r\n            encode(uint64(sla.minerCommitRevealFee), bytes1(0x20)),\r\n            encode(uint64(sla.minConsensusPercentage), bytes1(0x28)),\r\n            encode(uint64(sla.witnessCollateral), bytes1(0x30))\r\n        );\r\n    }\r\n\r\n    function replaceCborStringsFromBytes(\r\n            bytes memory data,\r\n            string[] memory args\r\n        )\r\n        public pure\r\n        returns (bytes memory)\r\n    {\r\n        WitnetCBOR.CBOR memory cbor = WitnetCBOR.fromBytes(data);\r\n        while (!cbor.eof()) {\r\n            if (cbor.majorType == WitnetCBOR.MAJOR_TYPE_STRING) {\r\n                _replaceCborWildcards(cbor, args);\r\n                cbor = cbor.settle();\r\n            } else {\r\n                cbor = cbor.skip().settle();\r\n            }\r\n        }\r\n        return cbor.buffer.data;\r\n    }\r\n\r\n    function replaceWildcards(Witnet.RadonRetrieval memory self, string[] memory args)\r\n        public pure\r\n    {\r\n        self.url = WitnetBuffer.replace(self.url, args);\r\n        self.body = WitnetBuffer.replace(self.body, args);\r\n        self.script = replaceCborStringsFromBytes(self.script, args);\r\n        for (uint _ix = 0 ; _ix < self.headers.length; _ix ++) {\r\n            self.headers[_ix][1] = WitnetBuffer.replace(self.headers[_ix][1], args);\r\n        }\r\n    }\r\n\r\n    function validate(\r\n            Witnet.RadonDataRequestMethods method,\r\n            string memory url,\r\n            string memory body,\r\n            string[2][] memory headers,\r\n            bytes memory script\r\n        )\r\n        public pure\r\n        returns (bytes32)\r\n    {\r\n        if (!(\r\n            bytes(url).length > 0 \r\n                && (\r\n                    method == Witnet.RadonDataRequestMethods.HttpGet \r\n                        || method == Witnet.RadonDataRequestMethods.HttpPost\r\n                        || method == Witnet.RadonDataRequestMethods.HttpHead\r\n                )\r\n            || method == Witnet.RadonDataRequestMethods.RNG\r\n                && bytes(url).length == 0\r\n                && headers.length == 0\r\n                && script.length >= 1\r\n        )) {\r\n            revert UnsupportedDataRequestMethod(\r\n                uint8(method),\r\n                url,\r\n                body,\r\n                headers\r\n            );\r\n        }\r\n        return keccak256(abi.encode(method, url, body, headers, script));\r\n    }\r\n    \r\n    function validate(\r\n            Witnet.RadonDataTypes dataType,\r\n            uint16 maxDataSize\r\n        )\r\n        public pure\r\n        returns (uint16)\r\n    {\r\n        if (\r\n            dataType == Witnet.RadonDataTypes.Any\r\n                || dataType == Witnet.RadonDataTypes.String\r\n                || dataType == Witnet.RadonDataTypes.Bytes\r\n                || dataType == Witnet.RadonDataTypes.Array\r\n                || dataType == Witnet.RadonDataTypes.Map\r\n        ) {\r\n            if (maxDataSize == 0) {\r\n                revert UnsupportedRadonDataType(\r\n                    uint8(dataType),\r\n                    maxDataSize\r\n                );\r\n            }\r\n            return maxDataSize + 3; // TODO: determine CBOR-encoding length overhead\r\n        } else if (\r\n            dataType == Witnet.RadonDataTypes.Integer\r\n                || dataType == Witnet.RadonDataTypes.Float\r\n                || dataType == Witnet.RadonDataTypes.Bool\r\n        ) {\r\n            return 9; \r\n        } else {\r\n            revert UnsupportedRadonDataType(\r\n                uint8(dataType),\r\n                size(dataType)\r\n            );\r\n        }\r\n    }\r\n\r\n    function validate(Witnet.RadonFilter memory filter)\r\n        public pure\r\n    {\r\n        if (\r\n            filter.opcode == Witnet.RadonFilterOpcodes.StandardDeviation\r\n        ) {\r\n            // check filters that require arguments\r\n            if (filter.args.length == 0) {\r\n                revert UnsupportedRadonFilterArgs(uint8(filter.opcode), filter.args);\r\n            }\r\n        } else if (\r\n            filter.opcode == Witnet.RadonFilterOpcodes.Mode\r\n        ) {\r\n            // check filters that don't require any arguments\r\n            if (filter.args.length > 0) {\r\n                revert UnsupportedRadonFilterArgs(uint8(filter.opcode), filter.args);\r\n            }\r\n        } else {\r\n            // reject unsupported opcodes\r\n            revert UnsupportedRadonFilterOpcode(uint8(filter.opcode));\r\n        }\r\n    }\r\n\r\n    function validate(Witnet.RadonReducer memory reducer)\r\n        public pure\r\n    {\r\n        // if (reducer.script.length == 0) {\r\n            if (!(\r\n                reducer.opcode == Witnet.RadonReducerOpcodes.AverageMean \r\n                    || reducer.opcode == Witnet.RadonReducerOpcodes.StandardDeviation\r\n                    || reducer.opcode == Witnet.RadonReducerOpcodes.Mode\r\n                    || reducer.opcode == Witnet.RadonReducerOpcodes.ConcatenateAndHash\r\n                    || reducer.opcode == Witnet.RadonReducerOpcodes.AverageMedian\r\n            )) {\r\n                revert UnsupportedRadonReducerOpcode(uint8(reducer.opcode));\r\n            }\r\n            for (uint ix = 0; ix < reducer.filters.length; ix ++) {\r\n                validate(reducer.filters[ix]);\r\n            }\r\n        // } else {\r\n        //     if (uint8(reducer.opcode) != 0xff || reducer.filters.length > 0) {\r\n        //         revert UnsupportedRadonReducerScript(\r\n        //             uint8(reducer.opcode),\r\n        //             reducer.script,\r\n        //             0\r\n        //         );\r\n        //     }\r\n        // }\r\n    }\r\n\r\n    function validate(Witnet.RadonSLA memory sla)\r\n        public pure\r\n    {\r\n        if (sla.witnessReward == 0) {\r\n            revert(\"WitnetEncodingLib: invalid SLA: no reward\");\r\n        }\r\n        if (sla.numWitnesses == 0) {\r\n            revert(\"WitnetEncodingLib: invalid SLA: no witnesses\");\r\n        } else if (sla.numWitnesses > 127) {\r\n            revert(\"WitnetEncodingLib: invalid SLA: too many witnesses (>127)\");\r\n        }\r\n        if (\r\n            sla.minConsensusPercentage < 51 \r\n                || sla.minConsensusPercentage > 99\r\n        ) {\r\n            revert(\"WitnetEncodingLib: invalid SLA: consensus percentage out of range\");\r\n        }\r\n        if (sla.witnessCollateral > 0) {\r\n            revert(\"WitnetEncodingLib: invalid SLA: no collateral\");\r\n        }\r\n        if (sla.witnessCollateral / sla.witnessReward > 127) {\r\n            revert(\"WitnetEncodingLib: invalid SLA: collateral/reward ratio too high (>127)\");\r\n        }\r\n    }\r\n\r\n    function verifyRadonScriptResultDataType(bytes memory script)\r\n        public pure\r\n        returns (Witnet.RadonDataTypes)\r\n    {\r\n        return _verifyRadonScriptResultDataType(\r\n            WitnetCBOR.fromBytes(script),\r\n            false\r\n        );\r\n    }\r\n\r\n\r\n    /// ===============================================================================================================\r\n    /// --- WitnetEncodingLib private methods ---------------------------------------------------------------------------------\r\n\r\n    function _replaceCborWildcards(\r\n            WitnetCBOR.CBOR memory self,\r\n            string[] memory args\r\n        ) private pure\r\n    {\r\n        uint _rewind = self.len;\r\n        uint _start = self.buffer.cursor;\r\n        bytes memory _peeks = bytes(self.readString());\r\n        (bytes memory _pokes, uint _replacements) = WitnetBuffer.replace(_peeks, args);\r\n        if (_replacements > 0) {\r\n            bytes memory _encodedPokes = encode(string(_pokes));\r\n            self.buffer.cursor = _start - _rewind;\r\n            self.buffer.mutate(\r\n                _peeks.length + _rewind,\r\n                _encodedPokes\r\n            );\r\n            self.buffer.cursor += _encodedPokes.length;\r\n        }\r\n    }\r\n\r\n    \r\n    function _verifyRadonScriptResultDataType(WitnetCBOR.CBOR memory self, bool flip)\r\n        private pure\r\n        returns (Witnet.RadonDataTypes)\r\n    {\r\n        if (self.majorType == WitnetCBOR.MAJOR_TYPE_ARRAY) {\r\n            WitnetCBOR.CBOR[] memory items = self.readArray();\r\n            if (items.length > 1) {\r\n                return flip\r\n                    ? _verifyRadonScriptResultDataType(items[0], false)\r\n                    : _verifyRadonScriptResultDataType(items[items.length - 2], true)\r\n                ;\r\n            } else {\r\n                return Witnet.RadonDataTypes.Any;\r\n            }\r\n        } else if (self.majorType == WitnetCBOR.MAJOR_TYPE_INT) {            \r\n            uint cursor = self.buffer.cursor;\r\n            uint opcode = self.readUint();\r\n            uint8 dataType = (opcode > WITNET_RADON_OPCODES_RESULT_TYPES.length\r\n                ? 0xff\r\n                : uint8(WITNET_RADON_OPCODES_RESULT_TYPES[opcode])\r\n            );\r\n            if (dataType > uint8(type(Witnet.RadonDataTypes).max)) {\r\n                revert UnsupportedRadonScriptOpcode(\r\n                    self.buffer.data,\r\n                    cursor,\r\n                    uint8(opcode)\r\n                );\r\n            }\r\n            return Witnet.RadonDataTypes(dataType);\r\n        } else {\r\n            revert WitnetCBOR.UnexpectedMajorType(\r\n                WitnetCBOR.MAJOR_TYPE_INT,\r\n                self.majorType\r\n            );\r\n        }\r\n    }\r\n\r\n}",
  "sourcePath": "C:\\Users\\guill\\github\\witnet\\witnet-solidity-bridge\\contracts\\libs\\WitnetEncodingLib.sol",
  "ast": {
    "absolutePath": "project:/contracts/libs/WitnetEncodingLib.sol",
    "exportedSymbols": {
      "Witnet": [
        17557
      ],
      "WitnetBuffer": [
        19191
      ],
      "WitnetCBOR": [
        20734
      ],
      "WitnetEncodingLib": [
        22450
      ]
    },
    "id": 22451,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 20736,
        "literals": [
          "solidity",
          ">=",
          "0.8",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "35:31:67"
      },
      {
        "absolutePath": "project:/contracts/libs/Witnet.sol",
        "file": "./Witnet.sol",
        "id": 20737,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 22451,
        "sourceUnit": 17558,
        "src": "70:22:67",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [],
        "canonicalName": "WitnetEncodingLib",
        "contractDependencies": [],
        "contractKind": "library",
        "documentation": {
          "id": 20738,
          "nodeType": "StructuredDocumentation",
          "src": "96:93:67",
          "text": "@title A library for encoding Witnet Data Requests.\n @author The Witnet Foundation."
        },
        "fullyImplemented": true,
        "id": 22450,
        "linearizedBaseContracts": [
          22450
        ],
        "name": "WitnetEncodingLib",
        "nameLocation": "197:17:67",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "global": false,
            "id": 20742,
            "libraryName": {
              "id": 20739,
              "name": "WitnetBuffer",
              "nameLocations": [
                "230:12:67"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 19191,
              "src": "230:12:67"
            },
            "nodeType": "UsingForDirective",
            "src": "224:43:67",
            "typeName": {
              "id": 20741,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 20740,
                "name": "WitnetBuffer.Buffer",
                "nameLocations": [
                  "247:12:67",
                  "260:6:67"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 17580,
                "src": "247:19:67"
              },
              "referencedDeclaration": 17580,
              "src": "247:19:67",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_Buffer_$17580_storage_ptr",
                "typeString": "struct WitnetBuffer.Buffer"
              }
            }
          },
          {
            "global": false,
            "id": 20746,
            "libraryName": {
              "id": 20743,
              "name": "WitnetCBOR",
              "nameLocations": [
                "279:10:67"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 20734,
              "src": "279:10:67"
            },
            "nodeType": "UsingForDirective",
            "src": "273:37:67",
            "typeName": {
              "id": 20745,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 20744,
                "name": "WitnetCBOR.CBOR",
                "nameLocations": [
                  "294:10:67",
                  "305:4:67"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 19218,
                "src": "294:15:67"
              },
              "referencedDeclaration": 19218,
              "src": "294:15:67",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_CBOR_$19218_storage_ptr",
                "typeString": "struct WitnetCBOR.CBOR"
              }
            }
          },
          {
            "global": false,
            "id": 20751,
            "libraryName": {
              "id": 20747,
              "name": "WitnetCBOR",
              "nameLocations": [
                "322:10:67"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 20734,
              "src": "322:10:67"
            },
            "nodeType": "UsingForDirective",
            "src": "316:39:67",
            "typeName": {
              "baseType": {
                "id": 20749,
                "nodeType": "UserDefinedTypeName",
                "pathNode": {
                  "id": 20748,
                  "name": "WitnetCBOR.CBOR",
                  "nameLocations": [
                    "337:10:67",
                    "348:4:67"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 19218,
                  "src": "337:15:67"
                },
                "referencedDeclaration": 19218,
                "src": "337:15:67",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_CBOR_$19218_storage_ptr",
                  "typeString": "struct WitnetCBOR.CBOR"
                }
              },
              "id": 20750,
              "nodeType": "ArrayTypeName",
              "src": "337:17:67",
              "typeDescriptions": {
                "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_storage_$dyn_storage_ptr",
                "typeString": "struct WitnetCBOR.CBOR[]"
              }
            }
          },
          {
            "constant": true,
            "id": 20754,
            "mutability": "constant",
            "name": "WITNET_RADON_OPCODES_RESULT_TYPES",
            "nameLocation": "387:33:67",
            "nodeType": "VariableDeclaration",
            "scope": 22450,
            "src": "363:330:67",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes_memory_ptr",
              "typeString": "bytes"
            },
            "typeName": {
              "id": 20752,
              "name": "bytes",
              "nodeType": "ElementaryTypeName",
              "src": "363:5:67",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes_storage_ptr",
                "typeString": "bytes"
              }
            },
            "value": {
              "hexValue": "10ffffffffffffffffffffffffffffff040100010203050406071311ff0101ff07ff02ffffffffffffffffffffffffff070304ff04ffffffffffffff03ffffff0405070202ff0404040403ffffffffff05070402040205050505ff04ff04ffff07010203050406070101ff06ffff06ff0203050404000106060707070701ffff",
              "id": 20753,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "hexString",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "432:261:67",
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_1ee4defbad2849c0d5df82d80316fb10b4eb4a3be0d757894987011be8223cf6",
                "typeString": "literal_string hex\"10ffffffffffffffffffffffffffffff040100010203050406071311ff0101ff07ff02ffffffffffffffffffffffffff070304ff04ffffffffffffff03ffffff0405070202ff0404040403ffffffffff05070402040205050505ff04ff04ffff07010203050406070101ff06ffff06ff0203050404000106060707070701ffff\""
              }
            },
            "visibility": "internal"
          },
          {
            "errorSelector": "3a3cb621",
            "id": 20767,
            "name": "UnsupportedDataRequestMethod",
            "nameLocation": "1100:28:67",
            "nodeType": "ErrorDefinition",
            "parameters": {
              "id": 20766,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20756,
                  "mutability": "mutable",
                  "name": "method",
                  "nameLocation": "1135:6:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20767,
                  "src": "1129:12:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 20755,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "1129:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20758,
                  "mutability": "mutable",
                  "name": "schema",
                  "nameLocation": "1150:6:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20767,
                  "src": "1143:13:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 20757,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1143:6:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20760,
                  "mutability": "mutable",
                  "name": "body",
                  "nameLocation": "1165:4:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20767,
                  "src": "1158:11:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 20759,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1158:6:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20765,
                  "mutability": "mutable",
                  "name": "headers",
                  "nameLocation": "1183:7:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20767,
                  "src": "1171:19:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr",
                    "typeString": "string[2][]"
                  },
                  "typeName": {
                    "baseType": {
                      "baseType": {
                        "id": 20761,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "1171:6:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "id": 20763,
                      "length": {
                        "hexValue": "32",
                        "id": 20762,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1178:1:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_2_by_1",
                          "typeString": "int_const 2"
                        },
                        "value": "2"
                      },
                      "nodeType": "ArrayTypeName",
                      "src": "1171:9:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_storage_$2_storage_ptr",
                        "typeString": "string[2]"
                      }
                    },
                    "id": 20764,
                    "nodeType": "ArrayTypeName",
                    "src": "1171:11:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_array$_t_string_storage_$2_storage_$dyn_storage_ptr",
                      "typeString": "string[2][]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1128:63:67"
            },
            "src": "1094:98:67"
          },
          {
            "errorSelector": "7aba1727",
            "id": 20773,
            "name": "UnsupportedRadonDataType",
            "nameLocation": "1204:24:67",
            "nodeType": "ErrorDefinition",
            "parameters": {
              "id": 20772,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20769,
                  "mutability": "mutable",
                  "name": "datatype",
                  "nameLocation": "1235:8:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20773,
                  "src": "1229:14:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 20768,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "1229:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20771,
                  "mutability": "mutable",
                  "name": "maxlength",
                  "nameLocation": "1253:9:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20773,
                  "src": "1245:17:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20770,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1245:7:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1228:35:67"
            },
            "src": "1198:66:67"
          },
          {
            "errorSelector": "ddb08eaf",
            "id": 20777,
            "name": "UnsupportedRadonFilterOpcode",
            "nameLocation": "1276:28:67",
            "nodeType": "ErrorDefinition",
            "parameters": {
              "id": 20776,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20775,
                  "mutability": "mutable",
                  "name": "opcode",
                  "nameLocation": "1311:6:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20777,
                  "src": "1305:12:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 20774,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "1305:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1304:14:67"
            },
            "src": "1270:49:67"
          },
          {
            "errorSelector": "c81bd898",
            "id": 20783,
            "name": "UnsupportedRadonFilterArgs",
            "nameLocation": "1331:26:67",
            "nodeType": "ErrorDefinition",
            "parameters": {
              "id": 20782,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20779,
                  "mutability": "mutable",
                  "name": "opcode",
                  "nameLocation": "1364:6:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20783,
                  "src": "1358:12:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 20778,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "1358:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20781,
                  "mutability": "mutable",
                  "name": "args",
                  "nameLocation": "1378:4:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20783,
                  "src": "1372:10:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 20780,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1372:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1357:26:67"
            },
            "src": "1325:59:67"
          },
          {
            "errorSelector": "a1165d63",
            "id": 20787,
            "name": "UnsupportedRadonReducerOpcode",
            "nameLocation": "1396:29:67",
            "nodeType": "ErrorDefinition",
            "parameters": {
              "id": 20786,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20785,
                  "mutability": "mutable",
                  "name": "opcode",
                  "nameLocation": "1432:6:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20787,
                  "src": "1426:12:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 20784,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "1426:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1425:14:67"
            },
            "src": "1390:50:67"
          },
          {
            "errorSelector": "0dfab024",
            "id": 20795,
            "name": "UnsupportedRadonReducerScript",
            "nameLocation": "1452:29:67",
            "nodeType": "ErrorDefinition",
            "parameters": {
              "id": 20794,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20789,
                  "mutability": "mutable",
                  "name": "opcode",
                  "nameLocation": "1488:6:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20795,
                  "src": "1482:12:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 20788,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "1482:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20791,
                  "mutability": "mutable",
                  "name": "script",
                  "nameLocation": "1502:6:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20795,
                  "src": "1496:12:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 20790,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1496:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20793,
                  "mutability": "mutable",
                  "name": "offset",
                  "nameLocation": "1518:6:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20795,
                  "src": "1510:14:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20792,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1510:7:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1481:44:67"
            },
            "src": "1446:80:67"
          },
          {
            "errorSelector": "ce443d33",
            "id": 20801,
            "name": "UnsupportedRadonScript",
            "nameLocation": "1538:22:67",
            "nodeType": "ErrorDefinition",
            "parameters": {
              "id": 20800,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20797,
                  "mutability": "mutable",
                  "name": "script",
                  "nameLocation": "1567:6:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20801,
                  "src": "1561:12:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 20796,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1561:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20799,
                  "mutability": "mutable",
                  "name": "offset",
                  "nameLocation": "1583:6:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20801,
                  "src": "1575:14:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20798,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1575:7:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1560:30:67"
            },
            "src": "1532:59:67"
          },
          {
            "errorSelector": "d77a8de8",
            "id": 20809,
            "name": "UnsupportedRadonScriptOpcode",
            "nameLocation": "1603:28:67",
            "nodeType": "ErrorDefinition",
            "parameters": {
              "id": 20808,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20803,
                  "mutability": "mutable",
                  "name": "script",
                  "nameLocation": "1638:6:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20809,
                  "src": "1632:12:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 20802,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1632:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20805,
                  "mutability": "mutable",
                  "name": "cursor",
                  "nameLocation": "1654:6:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20809,
                  "src": "1646:14:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20804,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1646:7:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20807,
                  "mutability": "mutable",
                  "name": "opcode",
                  "nameLocation": "1668:6:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20809,
                  "src": "1662:12:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 20806,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "1662:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1631:44:67"
            },
            "src": "1597:79:67"
          },
          {
            "errorSelector": "7da1189f",
            "id": 20813,
            "name": "UnsupportedRadonTallyScript",
            "nameLocation": "1688:27:67",
            "nodeType": "ErrorDefinition",
            "parameters": {
              "id": 20812,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20811,
                  "mutability": "mutable",
                  "name": "hash",
                  "nameLocation": "1724:4:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20813,
                  "src": "1716:12:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 20810,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1716:7:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1715:14:67"
            },
            "src": "1682:48:67"
          },
          {
            "body": {
              "id": 20849,
              "nodeType": "Block",
              "src": "2064:313:67",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 20832,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                        "typeString": "enum Witnet.RadonDataTypes"
                      },
                      "id": 20826,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 20822,
                        "name": "_type",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20817,
                        "src": "2079:5:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                          "typeString": "enum Witnet.RadonDataTypes"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 20823,
                            "name": "Witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 17557,
                            "src": "2088:6:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                              "typeString": "type(library Witnet)"
                            }
                          },
                          "id": 20824,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "2095:14:67",
                          "memberName": "RadonDataTypes",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 16432,
                          "src": "2088:21:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_RadonDataTypes_$16432_$",
                            "typeString": "type(enum Witnet.RadonDataTypes)"
                          }
                        },
                        "id": 20825,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "2110:7:67",
                        "memberName": "Integer",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16416,
                        "src": "2088:29:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                          "typeString": "enum Witnet.RadonDataTypes"
                        }
                      },
                      "src": "2079:38:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                        "typeString": "enum Witnet.RadonDataTypes"
                      },
                      "id": 20831,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 20827,
                        "name": "_type",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20817,
                        "src": "2134:5:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                          "typeString": "enum Witnet.RadonDataTypes"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 20828,
                            "name": "Witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 17557,
                            "src": "2143:6:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                              "typeString": "type(library Witnet)"
                            }
                          },
                          "id": 20829,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "2150:14:67",
                          "memberName": "RadonDataTypes",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 16432,
                          "src": "2143:21:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_RadonDataTypes_$16432_$",
                            "typeString": "type(enum Witnet.RadonDataTypes)"
                          }
                        },
                        "id": 20830,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "2165:5:67",
                        "memberName": "Float",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16417,
                        "src": "2143:27:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                          "typeString": "enum Witnet.RadonDataTypes"
                        }
                      },
                      "src": "2134:36:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "2079:91:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                        "typeString": "enum Witnet.RadonDataTypes"
                      },
                      "id": 20840,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 20836,
                        "name": "_type",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20817,
                        "src": "2227:5:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                          "typeString": "enum Witnet.RadonDataTypes"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 20837,
                            "name": "Witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 17557,
                            "src": "2236:6:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                              "typeString": "type(library Witnet)"
                            }
                          },
                          "id": 20838,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "2243:14:67",
                          "memberName": "RadonDataTypes",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 16432,
                          "src": "2236:21:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_RadonDataTypes_$16432_$",
                            "typeString": "type(enum Witnet.RadonDataTypes)"
                          }
                        },
                        "id": 20839,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "2258:4:67",
                        "memberName": "Bool",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16414,
                        "src": "2236:26:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                          "typeString": "enum Witnet.RadonDataTypes"
                        }
                      },
                      "src": "2227:35:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "id": 20846,
                      "nodeType": "Block",
                      "src": "2305:65:67",
                      "statements": [
                        {
                          "expression": {
                            "hexValue": "30",
                            "id": 20844,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2356:1:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "functionReturnParameters": 20821,
                          "id": 20845,
                          "nodeType": "Return",
                          "src": "2349:8:67"
                        }
                      ]
                    },
                    "id": 20847,
                    "nodeType": "IfStatement",
                    "src": "2223:147:67",
                    "trueBody": {
                      "id": 20843,
                      "nodeType": "Block",
                      "src": "2264:35:67",
                      "statements": [
                        {
                          "expression": {
                            "hexValue": "31",
                            "id": 20841,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2286:1:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "functionReturnParameters": 20821,
                          "id": 20842,
                          "nodeType": "Return",
                          "src": "2279:8:67"
                        }
                      ]
                    }
                  },
                  "id": 20848,
                  "nodeType": "IfStatement",
                  "src": "2075:295:67",
                  "trueBody": {
                    "id": 20835,
                    "nodeType": "Block",
                    "src": "2182:35:67",
                    "statements": [
                      {
                        "expression": {
                          "hexValue": "39",
                          "id": 20833,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2204:1:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_9_by_1",
                            "typeString": "int_const 9"
                          },
                          "value": "9"
                        },
                        "functionReturnParameters": 20821,
                        "id": 20834,
                        "nodeType": "Return",
                        "src": "2197:8:67"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": {
              "id": 20814,
              "nodeType": "StructuredDocumentation",
              "src": "1738:246:67",
              "text": "===============================================================================================================\n --- WitnetEncodingLib internal methods --------------------------------------------------------------------------------"
            },
            "id": 20850,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "size",
            "nameLocation": "1999:4:67",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20818,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20817,
                  "mutability": "mutable",
                  "name": "_type",
                  "nameLocation": "2026:5:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20850,
                  "src": "2004:27:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                    "typeString": "enum Witnet.RadonDataTypes"
                  },
                  "typeName": {
                    "id": 20816,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 20815,
                      "name": "Witnet.RadonDataTypes",
                      "nameLocations": [
                        "2004:6:67",
                        "2011:14:67"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16432,
                      "src": "2004:21:67"
                    },
                    "referencedDeclaration": 16432,
                    "src": "2004:21:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                      "typeString": "enum Witnet.RadonDataTypes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2003:29:67"
            },
            "returnParameters": {
              "id": 20821,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20820,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 20850,
                  "src": "2056:6:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  },
                  "typeName": {
                    "id": 20819,
                    "name": "uint16",
                    "nodeType": "ElementaryTypeName",
                    "src": "2056:6:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2055:8:67"
            },
            "scope": 22450,
            "src": "1990:387:67",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 20980,
              "nodeType": "Block",
              "src": "2896:934:67",
              "statements": [
                {
                  "assignments": [
                    20861
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 20861,
                      "mutability": "mutable",
                      "name": "len",
                      "nameLocation": "2912:3:67",
                      "nodeType": "VariableDeclaration",
                      "scope": 20980,
                      "src": "2907:8:67",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 20860,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "2907:4:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 20864,
                  "initialValue": {
                    "expression": {
                      "id": 20862,
                      "name": "buf",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20853,
                      "src": "2918:3:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes memory"
                      }
                    },
                    "id": 20863,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "2922:6:67",
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "src": "2918:10:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2907:21:67"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 20867,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 20865,
                      "name": "len",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20861,
                      "src": "2943:3:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "hexValue": "3233",
                      "id": 20866,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2949:2:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_23_by_1",
                        "typeString": "int_const 23"
                      },
                      "value": "23"
                    },
                    "src": "2943:8:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 20978,
                    "nodeType": "Block",
                    "src": "3101:722:67",
                    "statements": [
                      {
                        "assignments": [
                          20887
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 20887,
                            "mutability": "mutable",
                            "name": "buf0",
                            "nameLocation": "3122:4:67",
                            "nodeType": "VariableDeclaration",
                            "scope": 20978,
                            "src": "3116:10:67",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            },
                            "typeName": {
                              "id": 20886,
                              "name": "uint8",
                              "nodeType": "ElementaryTypeName",
                              "src": "3116:5:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint8",
                                "typeString": "uint8"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 20895,
                        "initialValue": {
                          "arguments": [
                            {
                              "components": [
                                {
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 20892,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "id": 20890,
                                    "name": "majorType",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 20855,
                                    "src": "3136:9:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "<<",
                                  "rightExpression": {
                                    "hexValue": "35",
                                    "id": 20891,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "3149:1:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_5_by_1",
                                      "typeString": "int_const 5"
                                    },
                                    "value": "5"
                                  },
                                  "src": "3136:14:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "id": 20893,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "TupleExpression",
                              "src": "3135:16:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 20889,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "3129:5:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint8_$",
                              "typeString": "type(uint8)"
                            },
                            "typeName": {
                              "id": 20888,
                              "name": "uint8",
                              "nodeType": "ElementaryTypeName",
                              "src": "3129:5:67",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 20894,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3129:23:67",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "3116:36:67"
                      },
                      {
                        "assignments": [
                          20897
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 20897,
                            "mutability": "mutable",
                            "name": "buf1",
                            "nameLocation": "3180:4:67",
                            "nodeType": "VariableDeclaration",
                            "scope": 20978,
                            "src": "3167:17:67",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes"
                            },
                            "typeName": {
                              "id": 20896,
                              "name": "bytes",
                              "nodeType": "ElementaryTypeName",
                              "src": "3167:5:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage_ptr",
                                "typeString": "bytes"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 20898,
                        "nodeType": "VariableDeclarationStatement",
                        "src": "3167:17:67"
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 20901,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 20899,
                            "name": "len",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20861,
                            "src": "3203:3:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<=",
                          "rightExpression": {
                            "hexValue": "30786666",
                            "id": 20900,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3210:4:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_255_by_1",
                              "typeString": "int_const 255"
                            },
                            "value": "0xff"
                          },
                          "src": "3203:11:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "condition": {
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 20919,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "id": 20917,
                              "name": "len",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20861,
                              "src": "3341:3:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "<=",
                            "rightExpression": {
                              "hexValue": "307866666666",
                              "id": 20918,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3348:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_65535_by_1",
                                "typeString": "int_const 65535"
                              },
                              "value": "0xffff"
                            },
                            "src": "3341:13:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseBody": {
                            "condition": {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 20937,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "id": 20935,
                                "name": "len",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 20861,
                                "src": "3466:3:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<=",
                              "rightExpression": {
                                "hexValue": "30786666666666666666",
                                "id": 20936,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "3473:10:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_4294967295_by_1",
                                  "typeString": "int_const 4294967295"
                                },
                                "value": "0xffffffff"
                              },
                              "src": "3466:17:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "falseBody": {
                              "id": 20967,
                              "nodeType": "Block",
                              "src": "3591:100:67",
                              "statements": [
                                {
                                  "expression": {
                                    "id": 20955,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftHandSide": {
                                      "id": 20953,
                                      "name": "buf0",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 20887,
                                      "src": "3610:4:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint8",
                                        "typeString": "uint8"
                                      }
                                    },
                                    "nodeType": "Assignment",
                                    "operator": "|=",
                                    "rightHandSide": {
                                      "hexValue": "3237",
                                      "id": 20954,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "3618:2:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_27_by_1",
                                        "typeString": "int_const 27"
                                      },
                                      "value": "27"
                                    },
                                    "src": "3610:10:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  },
                                  "id": 20956,
                                  "nodeType": "ExpressionStatement",
                                  "src": "3610:10:67"
                                },
                                {
                                  "expression": {
                                    "id": 20965,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftHandSide": {
                                      "id": 20957,
                                      "name": "buf1",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 20897,
                                      "src": "3639:4:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    },
                                    "nodeType": "Assignment",
                                    "operator": "=",
                                    "rightHandSide": {
                                      "arguments": [
                                        {
                                          "arguments": [
                                            {
                                              "id": 20962,
                                              "name": "len",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 20861,
                                              "src": "3670:3:67",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": [
                                              {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            ],
                                            "id": 20961,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "nodeType": "ElementaryTypeNameExpression",
                                            "src": "3663:6:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_uint64_$",
                                              "typeString": "type(uint64)"
                                            },
                                            "typeName": {
                                              "id": 20960,
                                              "name": "uint64",
                                              "nodeType": "ElementaryTypeName",
                                              "src": "3663:6:67",
                                              "typeDescriptions": {}
                                            }
                                          },
                                          "id": 20963,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "typeConversion",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "3663:11:67",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint64",
                                            "typeString": "uint64"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_uint64",
                                            "typeString": "uint64"
                                          }
                                        ],
                                        "expression": {
                                          "id": 20958,
                                          "name": "abi",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4294967295,
                                          "src": "3646:3:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_abi",
                                            "typeString": "abi"
                                          }
                                        },
                                        "id": 20959,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberLocation": "3650:12:67",
                                        "memberName": "encodePacked",
                                        "nodeType": "MemberAccess",
                                        "src": "3646:16:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                          "typeString": "function () pure returns (bytes memory)"
                                        }
                                      },
                                      "id": 20964,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "3646:29:67",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    },
                                    "src": "3639:36:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  },
                                  "id": 20966,
                                  "nodeType": "ExpressionStatement",
                                  "src": "3639:36:67"
                                }
                              ]
                            },
                            "id": 20968,
                            "nodeType": "IfStatement",
                            "src": "3462:229:67",
                            "trueBody": {
                              "id": 20952,
                              "nodeType": "Block",
                              "src": "3485:100:67",
                              "statements": [
                                {
                                  "expression": {
                                    "id": 20940,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftHandSide": {
                                      "id": 20938,
                                      "name": "buf0",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 20887,
                                      "src": "3504:4:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint8",
                                        "typeString": "uint8"
                                      }
                                    },
                                    "nodeType": "Assignment",
                                    "operator": "|=",
                                    "rightHandSide": {
                                      "hexValue": "3236",
                                      "id": 20939,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "3512:2:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_26_by_1",
                                        "typeString": "int_const 26"
                                      },
                                      "value": "26"
                                    },
                                    "src": "3504:10:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  },
                                  "id": 20941,
                                  "nodeType": "ExpressionStatement",
                                  "src": "3504:10:67"
                                },
                                {
                                  "expression": {
                                    "id": 20950,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftHandSide": {
                                      "id": 20942,
                                      "name": "buf1",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 20897,
                                      "src": "3533:4:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    },
                                    "nodeType": "Assignment",
                                    "operator": "=",
                                    "rightHandSide": {
                                      "arguments": [
                                        {
                                          "arguments": [
                                            {
                                              "id": 20947,
                                              "name": "len",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 20861,
                                              "src": "3564:3:67",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": [
                                              {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            ],
                                            "id": 20946,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "nodeType": "ElementaryTypeNameExpression",
                                            "src": "3557:6:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_uint32_$",
                                              "typeString": "type(uint32)"
                                            },
                                            "typeName": {
                                              "id": 20945,
                                              "name": "uint32",
                                              "nodeType": "ElementaryTypeName",
                                              "src": "3557:6:67",
                                              "typeDescriptions": {}
                                            }
                                          },
                                          "id": 20948,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "typeConversion",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "3557:11:67",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint32",
                                            "typeString": "uint32"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_uint32",
                                            "typeString": "uint32"
                                          }
                                        ],
                                        "expression": {
                                          "id": 20943,
                                          "name": "abi",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4294967295,
                                          "src": "3540:3:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_abi",
                                            "typeString": "abi"
                                          }
                                        },
                                        "id": 20944,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberLocation": "3544:12:67",
                                        "memberName": "encodePacked",
                                        "nodeType": "MemberAccess",
                                        "src": "3540:16:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                          "typeString": "function () pure returns (bytes memory)"
                                        }
                                      },
                                      "id": 20949,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "3540:29:67",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    },
                                    "src": "3533:36:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  },
                                  "id": 20951,
                                  "nodeType": "ExpressionStatement",
                                  "src": "3533:36:67"
                                }
                              ]
                            }
                          },
                          "id": 20969,
                          "nodeType": "IfStatement",
                          "src": "3337:354:67",
                          "trueBody": {
                            "id": 20934,
                            "nodeType": "Block",
                            "src": "3356:100:67",
                            "statements": [
                              {
                                "expression": {
                                  "id": 20922,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftHandSide": {
                                    "id": 20920,
                                    "name": "buf0",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 20887,
                                    "src": "3375:4:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  },
                                  "nodeType": "Assignment",
                                  "operator": "|=",
                                  "rightHandSide": {
                                    "hexValue": "3235",
                                    "id": 20921,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "3383:2:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_25_by_1",
                                      "typeString": "int_const 25"
                                    },
                                    "value": "25"
                                  },
                                  "src": "3375:10:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint8",
                                    "typeString": "uint8"
                                  }
                                },
                                "id": 20923,
                                "nodeType": "ExpressionStatement",
                                "src": "3375:10:67"
                              },
                              {
                                "expression": {
                                  "id": 20932,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftHandSide": {
                                    "id": 20924,
                                    "name": "buf1",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 20897,
                                    "src": "3404:4:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  },
                                  "nodeType": "Assignment",
                                  "operator": "=",
                                  "rightHandSide": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "id": 20929,
                                            "name": "len",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 20861,
                                            "src": "3435:3:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          ],
                                          "id": 20928,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "3428:6:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_uint16_$",
                                            "typeString": "type(uint16)"
                                          },
                                          "typeName": {
                                            "id": 20927,
                                            "name": "uint16",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "3428:6:67",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 20930,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3428:11:67",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint16",
                                          "typeString": "uint16"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_uint16",
                                          "typeString": "uint16"
                                        }
                                      ],
                                      "expression": {
                                        "id": 20925,
                                        "name": "abi",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4294967295,
                                        "src": "3411:3:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_magic_abi",
                                          "typeString": "abi"
                                        }
                                      },
                                      "id": 20926,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "3415:12:67",
                                      "memberName": "encodePacked",
                                      "nodeType": "MemberAccess",
                                      "src": "3411:16:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                        "typeString": "function () pure returns (bytes memory)"
                                      }
                                    },
                                    "id": 20931,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "3411:29:67",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  },
                                  "src": "3404:36:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                },
                                "id": 20933,
                                "nodeType": "ExpressionStatement",
                                "src": "3404:36:67"
                              }
                            ]
                          }
                        },
                        "id": 20970,
                        "nodeType": "IfStatement",
                        "src": "3199:492:67",
                        "trueBody": {
                          "id": 20916,
                          "nodeType": "Block",
                          "src": "3216:115:67",
                          "statements": [
                            {
                              "expression": {
                                "id": 20904,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 20902,
                                  "name": "buf0",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 20887,
                                  "src": "3235:4:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint8",
                                    "typeString": "uint8"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "|=",
                                "rightHandSide": {
                                  "hexValue": "3234",
                                  "id": 20903,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "3243:2:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_24_by_1",
                                    "typeString": "int_const 24"
                                  },
                                  "value": "24"
                                },
                                "src": "3235:10:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint8",
                                  "typeString": "uint8"
                                }
                              },
                              "id": 20905,
                              "nodeType": "ExpressionStatement",
                              "src": "3235:10:67"
                            },
                            {
                              "expression": {
                                "id": 20914,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 20906,
                                  "name": "buf1",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 20897,
                                  "src": "3264:4:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "id": 20911,
                                          "name": "len",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 20861,
                                          "src": "3294:3:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        ],
                                        "id": 20910,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "3288:5:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_uint8_$",
                                          "typeString": "type(uint8)"
                                        },
                                        "typeName": {
                                          "id": 20909,
                                          "name": "uint8",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "3288:5:67",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 20912,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "3288:10:67",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint8",
                                        "typeString": "uint8"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_uint8",
                                        "typeString": "uint8"
                                      }
                                    ],
                                    "expression": {
                                      "id": 20907,
                                      "name": "abi",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4294967295,
                                      "src": "3271:3:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_magic_abi",
                                        "typeString": "abi"
                                      }
                                    },
                                    "id": 20908,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "3275:12:67",
                                    "memberName": "encodePacked",
                                    "nodeType": "MemberAccess",
                                    "src": "3271:16:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                      "typeString": "function () pure returns (bytes memory)"
                                    }
                                  },
                                  "id": 20913,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "3271:28:67",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                },
                                "src": "3264:35:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              },
                              "id": 20915,
                              "nodeType": "ExpressionStatement",
                              "src": "3264:35:67"
                            }
                          ]
                        }
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 20973,
                              "name": "buf0",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20887,
                              "src": "3747:4:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint8",
                                "typeString": "uint8"
                              }
                            },
                            {
                              "id": 20974,
                              "name": "buf1",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20897,
                              "src": "3770:4:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            },
                            {
                              "id": 20975,
                              "name": "buf",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20853,
                              "src": "3793:3:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint8",
                                "typeString": "uint8"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            ],
                            "expression": {
                              "id": 20971,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4294967295,
                              "src": "3712:3:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 20972,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "3716:12:67",
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "src": "3712:16:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 20976,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3712:99:67",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        },
                        "functionReturnParameters": 20859,
                        "id": 20977,
                        "nodeType": "Return",
                        "src": "3705:106:67"
                      }
                    ]
                  },
                  "id": 20979,
                  "nodeType": "IfStatement",
                  "src": "2939:884:67",
                  "trueBody": {
                    "id": 20885,
                    "nodeType": "Block",
                    "src": "2953:142:67",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 20880,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "components": [
                                      {
                                        "commonType": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        "id": 20874,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                          "id": 20872,
                                          "name": "majorType",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 20855,
                                          "src": "3017:9:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "<<",
                                        "rightExpression": {
                                          "hexValue": "35",
                                          "id": 20873,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "3030:1:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_rational_5_by_1",
                                            "typeString": "int_const 5"
                                          },
                                          "value": "5"
                                        },
                                        "src": "3017:14:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      }
                                    ],
                                    "id": 20875,
                                    "isConstant": false,
                                    "isInlineArray": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "TupleExpression",
                                    "src": "3016:16:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "|",
                                  "rightExpression": {
                                    "arguments": [
                                      {
                                        "id": 20878,
                                        "name": "len",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 20861,
                                        "src": "3041:3:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "id": 20877,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "3035:5:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint8_$",
                                        "typeString": "type(uint8)"
                                      },
                                      "typeName": {
                                        "id": 20876,
                                        "name": "uint8",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3035:5:67",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 20879,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "3035:10:67",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  },
                                  "src": "3016:29:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "id": 20871,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "3010:5:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_uint8_$",
                                  "typeString": "type(uint8)"
                                },
                                "typeName": {
                                  "id": 20870,
                                  "name": "uint8",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "3010:5:67",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 20881,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "3010:36:67",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint8",
                                "typeString": "uint8"
                              }
                            },
                            {
                              "id": 20882,
                              "name": "buf",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20853,
                              "src": "3065:3:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint8",
                                "typeString": "uint8"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            ],
                            "expression": {
                              "id": 20868,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4294967295,
                              "src": "2975:3:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 20869,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "2979:12:67",
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "src": "2975:16:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 20883,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2975:108:67",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        },
                        "functionReturnParameters": 20859,
                        "id": 20884,
                        "nodeType": "Return",
                        "src": "2968:115:67"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": {
              "id": 20851,
              "nodeType": "StructuredDocumentation",
              "src": "2639:143:67",
              "text": "@notice Encode bytes array into given major type (UTF-8 not yet supported)\n @param buf Bytes array\n @return Marshaled bytes"
            },
            "functionSelector": "a8c06a13",
            "id": 20981,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "encode",
            "nameLocation": "2797:6:67",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20856,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20853,
                  "mutability": "mutable",
                  "name": "buf",
                  "nameLocation": "2817:3:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20981,
                  "src": "2804:16:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 20852,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2804:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20855,
                  "mutability": "mutable",
                  "name": "majorType",
                  "nameLocation": "2827:9:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20981,
                  "src": "2822:14:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20854,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2822:4:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2803:34:67"
            },
            "returnParameters": {
              "id": 20859,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20858,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 20981,
                  "src": "2877:12:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 20857,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2877:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2876:14:67"
            },
            "scope": 22450,
            "src": "2788:1042:67",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20995,
              "nodeType": "Block",
              "src": "4031:66:67",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 20990,
                        "name": "buf",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20984,
                        "src": "4056:3:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "expression": {
                          "id": 20991,
                          "name": "WitnetCBOR",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20734,
                          "src": "4061:10:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitnetCBOR_$20734_$",
                            "typeString": "type(library WitnetCBOR)"
                          }
                        },
                        "id": 20992,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "4072:16:67",
                        "memberName": "MAJOR_TYPE_BYTES",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 19227,
                        "src": "4061:27:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      ],
                      "id": 20989,
                      "name": "encode",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20981,
                        20996,
                        21014,
                        21108,
                        21381,
                        21477,
                        21524,
                        21593,
                        21613,
                        21681
                      ],
                      "referencedDeclaration": 20981,
                      "src": "4049:6:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (bytes memory,uint256) pure returns (bytes memory)"
                      }
                    },
                    "id": 20993,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4049:40:67",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "functionReturnParameters": 20988,
                  "id": 20994,
                  "nodeType": "Return",
                  "src": "4042:47:67"
                }
              ]
            },
            "documentation": {
              "id": 20982,
              "nodeType": "StructuredDocumentation",
              "src": "3838:95:67",
              "text": "@notice Encode bytes array.\n @param buf Bytes array\n @return Mashaled bytes"
            },
            "functionSelector": "12496a1b",
            "id": 20996,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "encode",
            "nameLocation": "3948:6:67",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20985,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20984,
                  "mutability": "mutable",
                  "name": "buf",
                  "nameLocation": "3968:3:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 20996,
                  "src": "3955:16:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 20983,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "3955:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3954:18:67"
            },
            "returnParameters": {
              "id": 20988,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20987,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 20996,
                  "src": "4012:12:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 20986,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "4012:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4011:14:67"
            },
            "scope": 22450,
            "src": "3939:158:67",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 21013,
              "nodeType": "Block",
              "src": "4329:74:67",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 21007,
                            "name": "str",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20999,
                            "src": "4360:3:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "id": 21006,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "4354:5:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                            "typeString": "type(bytes storage pointer)"
                          },
                          "typeName": {
                            "id": 21005,
                            "name": "bytes",
                            "nodeType": "ElementaryTypeName",
                            "src": "4354:5:67",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 21008,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4354:10:67",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "expression": {
                          "id": 21009,
                          "name": "WitnetCBOR",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20734,
                          "src": "4366:10:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitnetCBOR_$20734_$",
                            "typeString": "type(library WitnetCBOR)"
                          }
                        },
                        "id": 21010,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "4377:17:67",
                        "memberName": "MAJOR_TYPE_STRING",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 19230,
                        "src": "4366:28:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      ],
                      "id": 21004,
                      "name": "encode",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20981,
                        20996,
                        21014,
                        21108,
                        21381,
                        21477,
                        21524,
                        21593,
                        21613,
                        21681
                      ],
                      "referencedDeclaration": 20981,
                      "src": "4347:6:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (bytes memory,uint256) pure returns (bytes memory)"
                      }
                    },
                    "id": 21011,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4347:48:67",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "functionReturnParameters": 21003,
                  "id": 21012,
                  "nodeType": "Return",
                  "src": "4340:55:67"
                }
              ]
            },
            "documentation": {
              "id": 20997,
              "nodeType": "StructuredDocumentation",
              "src": "4106:124:67",
              "text": "@notice Encode string array (UTF-8 not yet supported).\n @param str String bytes.\n @return Mashaled bytes"
            },
            "functionSelector": "6a11b2a8",
            "id": 21014,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "encode",
            "nameLocation": "4245:6:67",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 21000,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20999,
                  "mutability": "mutable",
                  "name": "str",
                  "nameLocation": "4266:3:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21014,
                  "src": "4252:17:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 20998,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "4252:6:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4251:19:67"
            },
            "returnParameters": {
              "id": 21003,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21002,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 21014,
                  "src": "4310:12:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 21001,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "4310:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4309:14:67"
            },
            "scope": 22450,
            "src": "4236:167:67",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 21107,
              "nodeType": "Block",
              "src": "4729:788:67",
              "statements": [
                {
                  "id": 21106,
                  "nodeType": "UncheckedBlock",
                  "src": "4740:770:67",
                  "statements": [
                    {
                      "assignments": [
                        21025
                      ],
                      "declarations": [
                        {
                          "constant": false,
                          "id": 21025,
                          "mutability": "mutable",
                          "name": "tmp",
                          "nameLocation": "4927:3:67",
                          "nodeType": "VariableDeclaration",
                          "scope": 21106,
                          "src": "4920:10:67",
                          "stateVariable": false,
                          "storageLocation": "default",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          },
                          "typeName": {
                            "id": 21024,
                            "name": "uint64",
                            "nodeType": "ElementaryTypeName",
                            "src": "4920:6:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          },
                          "visibility": "internal"
                        }
                      ],
                      "id": 21027,
                      "initialValue": {
                        "id": 21026,
                        "name": "n",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21017,
                        "src": "4933:1:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      "nodeType": "VariableDeclarationStatement",
                      "src": "4920:14:67"
                    },
                    {
                      "assignments": [
                        21029
                      ],
                      "declarations": [
                        {
                          "constant": false,
                          "id": 21029,
                          "mutability": "mutable",
                          "name": "numBytes",
                          "nameLocation": "4956:8:67",
                          "nodeType": "VariableDeclaration",
                          "scope": 21106,
                          "src": "4949:15:67",
                          "stateVariable": false,
                          "storageLocation": "default",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          },
                          "typeName": {
                            "id": 21028,
                            "name": "uint64",
                            "nodeType": "ElementaryTypeName",
                            "src": "4949:6:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          },
                          "visibility": "internal"
                        }
                      ],
                      "id": 21031,
                      "initialValue": {
                        "hexValue": "32",
                        "id": 21030,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4967:1:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_2_by_1",
                          "typeString": "int_const 2"
                        },
                        "value": "2"
                      },
                      "nodeType": "VariableDeclarationStatement",
                      "src": "4949:19:67"
                    },
                    {
                      "body": {
                        "id": 21045,
                        "nodeType": "Block",
                        "src": "5002:81:67",
                        "statements": [
                          {
                            "expression": {
                              "id": 21039,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftHandSide": {
                                "id": 21035,
                                "name": "tmp",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21025,
                                "src": "5021:3:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              },
                              "nodeType": "Assignment",
                              "operator": "=",
                              "rightHandSide": {
                                "commonType": {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                },
                                "id": 21038,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "id": 21036,
                                  "name": "tmp",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21025,
                                  "src": "5027:3:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint64",
                                    "typeString": "uint64"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": ">>",
                                "rightExpression": {
                                  "hexValue": "37",
                                  "id": 21037,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "5034:1:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_7_by_1",
                                    "typeString": "int_const 7"
                                  },
                                  "value": "7"
                                },
                                "src": "5027:8:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              },
                              "src": "5021:14:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint64",
                                "typeString": "uint64"
                              }
                            },
                            "id": 21040,
                            "nodeType": "ExpressionStatement",
                            "src": "5021:14:67"
                          },
                          {
                            "expression": {
                              "id": 21043,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftHandSide": {
                                "id": 21041,
                                "name": "numBytes",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21029,
                                "src": "5054:8:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              },
                              "nodeType": "Assignment",
                              "operator": "+=",
                              "rightHandSide": {
                                "hexValue": "31",
                                "id": 21042,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "5066:1:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_1_by_1",
                                  "typeString": "int_const 1"
                                },
                                "value": "1"
                              },
                              "src": "5054:13:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint64",
                                "typeString": "uint64"
                              }
                            },
                            "id": 21044,
                            "nodeType": "ExpressionStatement",
                            "src": "5054:13:67"
                          }
                        ]
                      },
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        "id": 21034,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 21032,
                          "name": "tmp",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21025,
                          "src": "4990:3:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "hexValue": "30783746",
                          "id": 21033,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4996:4:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_127_by_1",
                            "typeString": "int_const 127"
                          },
                          "value": "0x7F"
                        },
                        "src": "4990:10:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "id": 21046,
                      "nodeType": "WhileStatement",
                      "src": "4983:100:67"
                    },
                    {
                      "expression": {
                        "id": 21052,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftHandSide": {
                          "id": 21047,
                          "name": "buf",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21022,
                          "src": "5097:3:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        },
                        "nodeType": "Assignment",
                        "operator": "=",
                        "rightHandSide": {
                          "arguments": [
                            {
                              "id": 21050,
                              "name": "numBytes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21029,
                              "src": "5113:8:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint64",
                                "typeString": "uint64"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint64",
                                "typeString": "uint64"
                              }
                            ],
                            "id": 21049,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "NewExpression",
                            "src": "5103:9:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function (uint256) pure returns (bytes memory)"
                            },
                            "typeName": {
                              "id": 21048,
                              "name": "bytes",
                              "nodeType": "ElementaryTypeName",
                              "src": "5107:5:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage_ptr",
                                "typeString": "bytes"
                              }
                            }
                          },
                          "id": 21051,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5103:19:67",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        },
                        "src": "5097:25:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      "id": 21053,
                      "nodeType": "ExpressionStatement",
                      "src": "5097:25:67"
                    },
                    {
                      "expression": {
                        "id": 21056,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftHandSide": {
                          "id": 21054,
                          "name": "tmp",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21025,
                          "src": "5137:3:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          }
                        },
                        "nodeType": "Assignment",
                        "operator": "=",
                        "rightHandSide": {
                          "id": 21055,
                          "name": "n",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21017,
                          "src": "5143:1:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          }
                        },
                        "src": "5137:7:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      "id": 21057,
                      "nodeType": "ExpressionStatement",
                      "src": "5137:7:67"
                    },
                    {
                      "expression": {
                        "id": 21062,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftHandSide": {
                          "baseExpression": {
                            "id": 21058,
                            "name": "buf",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21022,
                            "src": "5159:3:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "id": 21060,
                          "indexExpression": {
                            "hexValue": "30",
                            "id": 21059,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5163:1:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "nodeType": "IndexAccess",
                          "src": "5159:6:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes1",
                            "typeString": "bytes1"
                          }
                        },
                        "nodeType": "Assignment",
                        "operator": "=",
                        "rightHandSide": {
                          "id": 21061,
                          "name": "t",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21019,
                          "src": "5168:1:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes1",
                            "typeString": "bytes1"
                          }
                        },
                        "src": "5159:10:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes1",
                          "typeString": "bytes1"
                        }
                      },
                      "id": 21063,
                      "nodeType": "ExpressionStatement",
                      "src": "5159:10:67"
                    },
                    {
                      "body": {
                        "id": 21096,
                        "nodeType": "Block",
                        "src": "5222:184:67",
                        "statements": [
                          {
                            "expression": {
                              "id": 21088,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftHandSide": {
                                "baseExpression": {
                                  "id": 21074,
                                  "name": "buf",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21022,
                                  "src": "5316:3:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                },
                                "id": 21076,
                                "indexExpression": {
                                  "id": 21075,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21065,
                                  "src": "5320:1:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint64",
                                    "typeString": "uint64"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": true,
                                "nodeType": "IndexAccess",
                                "src": "5316:6:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes1",
                                  "typeString": "bytes1"
                                }
                              },
                              "nodeType": "Assignment",
                              "operator": "=",
                              "rightHandSide": {
                                "arguments": [
                                  {
                                    "commonType": {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    },
                                    "id": 21086,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "hexValue": "30783830",
                                      "id": 21079,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "5332:4:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_128_by_1",
                                        "typeString": "int_const 128"
                                      },
                                      "value": "0x80"
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "|",
                                    "rightExpression": {
                                      "arguments": [
                                        {
                                          "commonType": {
                                            "typeIdentifier": "t_uint64",
                                            "typeString": "uint64"
                                          },
                                          "id": 21084,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "leftExpression": {
                                            "id": 21082,
                                            "name": "tmp",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 21025,
                                            "src": "5345:3:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint64",
                                              "typeString": "uint64"
                                            }
                                          },
                                          "nodeType": "BinaryOperation",
                                          "operator": "&",
                                          "rightExpression": {
                                            "hexValue": "30783746",
                                            "id": 21083,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "5351:4:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_rational_127_by_1",
                                              "typeString": "int_const 127"
                                            },
                                            "value": "0x7F"
                                          },
                                          "src": "5345:10:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint64",
                                            "typeString": "uint64"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_uint64",
                                            "typeString": "uint64"
                                          }
                                        ],
                                        "id": 21081,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "5339:5:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_uint8_$",
                                          "typeString": "type(uint8)"
                                        },
                                        "typeName": {
                                          "id": 21080,
                                          "name": "uint8",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "5339:5:67",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 21085,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "5339:17:67",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint8",
                                        "typeString": "uint8"
                                      }
                                    },
                                    "src": "5332:24:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  ],
                                  "id": 21078,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "5325:6:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_bytes1_$",
                                    "typeString": "type(bytes1)"
                                  },
                                  "typeName": {
                                    "id": 21077,
                                    "name": "bytes1",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "5325:6:67",
                                    "typeDescriptions": {}
                                  }
                                },
                                "id": 21087,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5325:32:67",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes1",
                                  "typeString": "bytes1"
                                }
                              },
                              "src": "5316:41:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes1",
                                "typeString": "bytes1"
                              }
                            },
                            "id": 21089,
                            "nodeType": "ExpressionStatement",
                            "src": "5316:41:67"
                          },
                          {
                            "expression": {
                              "id": 21094,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftHandSide": {
                                "id": 21090,
                                "name": "tmp",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21025,
                                "src": "5376:3:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              },
                              "nodeType": "Assignment",
                              "operator": "=",
                              "rightHandSide": {
                                "commonType": {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                },
                                "id": 21093,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "id": 21091,
                                  "name": "tmp",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21025,
                                  "src": "5382:3:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint64",
                                    "typeString": "uint64"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": ">>",
                                "rightExpression": {
                                  "hexValue": "37",
                                  "id": 21092,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "5389:1:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_7_by_1",
                                    "typeString": "int_const 7"
                                  },
                                  "value": "7"
                                },
                                "src": "5382:8:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              },
                              "src": "5376:14:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint64",
                                "typeString": "uint64"
                              }
                            },
                            "id": 21095,
                            "nodeType": "ExpressionStatement",
                            "src": "5376:14:67"
                          }
                        ]
                      },
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        "id": 21070,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 21068,
                          "name": "i",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21065,
                          "src": "5203:1:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<",
                        "rightExpression": {
                          "id": 21069,
                          "name": "numBytes",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21029,
                          "src": "5207:8:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          }
                        },
                        "src": "5203:12:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "id": 21097,
                      "initializationExpression": {
                        "assignments": [
                          21065
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 21065,
                            "mutability": "mutable",
                            "name": "i",
                            "nameLocation": "5196:1:67",
                            "nodeType": "VariableDeclaration",
                            "scope": 21097,
                            "src": "5189:8:67",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            },
                            "typeName": {
                              "id": 21064,
                              "name": "uint64",
                              "nodeType": "ElementaryTypeName",
                              "src": "5189:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint64",
                                "typeString": "uint64"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 21067,
                        "initialValue": {
                          "hexValue": "31",
                          "id": 21066,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5200:1:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "5189:12:67"
                      },
                      "isSimpleCounterLoop": true,
                      "loopExpression": {
                        "expression": {
                          "id": 21072,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "++",
                          "prefix": false,
                          "src": "5217:3:67",
                          "subExpression": {
                            "id": 21071,
                            "name": "i",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21065,
                            "src": "5217:1:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          }
                        },
                        "id": 21073,
                        "nodeType": "ExpressionStatement",
                        "src": "5217:3:67"
                      },
                      "nodeType": "ForStatement",
                      "src": "5184:222:67"
                    },
                    {
                      "expression": {
                        "id": 21104,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftHandSide": {
                          "baseExpression": {
                            "id": 21098,
                            "name": "buf",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21022,
                            "src": "5473:3:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "id": 21102,
                          "indexExpression": {
                            "commonType": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            },
                            "id": 21101,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "id": 21099,
                              "name": "numBytes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21029,
                              "src": "5477:8:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint64",
                                "typeString": "uint64"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "-",
                            "rightExpression": {
                              "hexValue": "31",
                              "id": 21100,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "5488:1:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "src": "5477:12:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "nodeType": "IndexAccess",
                          "src": "5473:17:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes1",
                            "typeString": "bytes1"
                          }
                        },
                        "nodeType": "Assignment",
                        "operator": "&=",
                        "rightHandSide": {
                          "hexValue": "30783746",
                          "id": 21103,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5494:4:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_127_by_1",
                            "typeString": "int_const 127"
                          },
                          "value": "0x7F"
                        },
                        "src": "5473:25:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes1",
                          "typeString": "bytes1"
                        }
                      },
                      "id": 21105,
                      "nodeType": "ExpressionStatement",
                      "src": "5473:25:67"
                    }
                  ]
                }
              ]
            },
            "documentation": {
              "id": 21015,
              "nodeType": "StructuredDocumentation",
              "src": "4411:214:67",
              "text": "@dev Encode uint64 into tagged varint.\n @dev See https://developers.google.com/protocol-buffers/docs/encoding#varints.\n @param n Number\n @param t Tag\n @return buf Marshaled bytes"
            },
            "functionSelector": "acbade1f",
            "id": 21108,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "encode",
            "nameLocation": "4640:6:67",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 21020,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21017,
                  "mutability": "mutable",
                  "name": "n",
                  "nameLocation": "4654:1:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21108,
                  "src": "4647:8:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  },
                  "typeName": {
                    "id": 21016,
                    "name": "uint64",
                    "nodeType": "ElementaryTypeName",
                    "src": "4647:6:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21019,
                  "mutability": "mutable",
                  "name": "t",
                  "nameLocation": "4664:1:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21108,
                  "src": "4657:8:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes1",
                    "typeString": "bytes1"
                  },
                  "typeName": {
                    "id": 21018,
                    "name": "bytes1",
                    "nodeType": "ElementaryTypeName",
                    "src": "4657:6:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes1",
                      "typeString": "bytes1"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4646:20:67"
            },
            "returnParameters": {
              "id": 21023,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21022,
                  "mutability": "mutable",
                  "name": "buf",
                  "nameLocation": "4719:3:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21108,
                  "src": "4706:16:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 21021,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "4706:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4705:18:67"
            },
            "scope": 22450,
            "src": "4631:886:67",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 21380,
              "nodeType": "Block",
              "src": "5639:2095:67",
              "statements": [
                {
                  "assignments": [
                    21117
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 21117,
                      "mutability": "mutable",
                      "name": "_encodedMethod",
                      "nameLocation": "5663:14:67",
                      "nodeType": "VariableDeclaration",
                      "scope": 21380,
                      "src": "5650:27:67",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 21116,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "5650:5:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 21129,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "expression": {
                              "id": 21121,
                              "name": "source",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21111,
                              "src": "5694:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                                "typeString": "struct Witnet.RadonRetrieval memory"
                              }
                            },
                            "id": 21122,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "5701:6:67",
                            "memberName": "method",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 16480,
                            "src": "5694:13:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_RadonDataRequestMethods_$16410",
                              "typeString": "enum Witnet.RadonDataRequestMethods"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_enum$_RadonDataRequestMethods_$16410",
                              "typeString": "enum Witnet.RadonDataRequestMethods"
                            }
                          ],
                          "id": 21120,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "5687:6:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_uint64_$",
                            "typeString": "type(uint64)"
                          },
                          "typeName": {
                            "id": 21119,
                            "name": "uint64",
                            "nodeType": "ElementaryTypeName",
                            "src": "5687:6:67",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 21123,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5687:21:67",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "hexValue": "30783038",
                            "id": 21126,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5717:4:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_8_by_1",
                              "typeString": "int_const 8"
                            },
                            "value": "0x08"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_8_by_1",
                              "typeString": "int_const 8"
                            }
                          ],
                          "id": 21125,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "5710:6:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_bytes1_$",
                            "typeString": "type(bytes1)"
                          },
                          "typeName": {
                            "id": 21124,
                            "name": "bytes1",
                            "nodeType": "ElementaryTypeName",
                            "src": "5710:6:67",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 21127,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5710:12:67",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes1",
                          "typeString": "bytes1"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        {
                          "typeIdentifier": "t_bytes1",
                          "typeString": "bytes1"
                        }
                      ],
                      "id": 21118,
                      "name": "encode",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20981,
                        20996,
                        21014,
                        21108,
                        21381,
                        21477,
                        21524,
                        21593,
                        21613,
                        21681
                      ],
                      "referencedDeclaration": 21108,
                      "src": "5680:6:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_bytes1_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (uint64,bytes1) pure returns (bytes memory)"
                      }
                    },
                    "id": 21128,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5680:43:67",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5650:73:67"
                },
                {
                  "assignments": [
                    21131
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 21131,
                      "mutability": "mutable",
                      "name": "_encodedUrl",
                      "nameLocation": "5747:11:67",
                      "nodeType": "VariableDeclaration",
                      "scope": 21380,
                      "src": "5734:24:67",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 21130,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "5734:5:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 21132,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5734:24:67"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 21140,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "arguments": [
                          {
                            "expression": {
                              "id": 21135,
                              "name": "source",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21111,
                              "src": "5779:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                                "typeString": "struct Witnet.RadonRetrieval memory"
                              }
                            },
                            "id": 21136,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "5786:3:67",
                            "memberName": "url",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 16485,
                            "src": "5779:10:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "id": 21134,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "5773:5:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                            "typeString": "type(bytes storage pointer)"
                          },
                          "typeName": {
                            "id": 21133,
                            "name": "bytes",
                            "nodeType": "ElementaryTypeName",
                            "src": "5773:5:67",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 21137,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5773:17:67",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      "id": 21138,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "5791:6:67",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "5773:24:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 21139,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "5800:1:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "5773:28:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 21168,
                  "nodeType": "IfStatement",
                  "src": "5769:215:67",
                  "trueBody": {
                    "id": 21167,
                    "nodeType": "Block",
                    "src": "5803:181:67",
                    "statements": [
                      {
                        "expression": {
                          "id": 21165,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 21141,
                            "name": "_encodedUrl",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21131,
                            "src": "5818:11:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "expression": {
                                          "arguments": [
                                            {
                                              "expression": {
                                                "id": 21149,
                                                "name": "source",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 21111,
                                                "src": "5887:6:67",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                                                  "typeString": "struct Witnet.RadonRetrieval memory"
                                                }
                                              },
                                              "id": 21150,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "5894:3:67",
                                              "memberName": "url",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 16485,
                                              "src": "5887:10:67",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              }
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": [
                                              {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              }
                                            ],
                                            "id": 21148,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "nodeType": "ElementaryTypeNameExpression",
                                            "src": "5881:5:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                              "typeString": "type(bytes storage pointer)"
                                            },
                                            "typeName": {
                                              "id": 21147,
                                              "name": "bytes",
                                              "nodeType": "ElementaryTypeName",
                                              "src": "5881:5:67",
                                              "typeDescriptions": {}
                                            }
                                          },
                                          "id": 21151,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "typeConversion",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "5881:17:67",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_memory_ptr",
                                            "typeString": "bytes memory"
                                          }
                                        },
                                        "id": 21152,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "5899:6:67",
                                        "memberName": "length",
                                        "nodeType": "MemberAccess",
                                        "src": "5881:24:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "id": 21146,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "5874:6:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint64_$",
                                        "typeString": "type(uint64)"
                                      },
                                      "typeName": {
                                        "id": 21145,
                                        "name": "uint64",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5874:6:67",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 21153,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "5874:32:67",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    }
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "hexValue": "30783132",
                                        "id": 21156,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "5915:4:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_rational_18_by_1",
                                          "typeString": "int_const 18"
                                        },
                                        "value": "0x12"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_rational_18_by_1",
                                          "typeString": "int_const 18"
                                        }
                                      ],
                                      "id": 21155,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "5908:6:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_bytes1_$",
                                        "typeString": "type(bytes1)"
                                      },
                                      "typeName": {
                                        "id": 21154,
                                        "name": "bytes1",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5908:6:67",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 21157,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "5908:12:67",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes1",
                                      "typeString": "bytes1"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    },
                                    {
                                      "typeIdentifier": "t_bytes1",
                                      "typeString": "bytes1"
                                    }
                                  ],
                                  "id": 21144,
                                  "name": "encode",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    20981,
                                    20996,
                                    21014,
                                    21108,
                                    21381,
                                    21477,
                                    21524,
                                    21593,
                                    21613,
                                    21681
                                  ],
                                  "referencedDeclaration": 21108,
                                  "src": "5867:6:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_bytes1_$returns$_t_bytes_memory_ptr_$",
                                    "typeString": "function (uint64,bytes1) pure returns (bytes memory)"
                                  }
                                },
                                "id": 21158,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5867:54:67",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              },
                              {
                                "arguments": [
                                  {
                                    "expression": {
                                      "id": 21161,
                                      "name": "source",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 21111,
                                      "src": "5946:6:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                                        "typeString": "struct Witnet.RadonRetrieval memory"
                                      }
                                    },
                                    "id": 21162,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "5953:3:67",
                                    "memberName": "url",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 16485,
                                    "src": "5946:10:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  ],
                                  "id": 21160,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "5940:5:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                    "typeString": "type(bytes storage pointer)"
                                  },
                                  "typeName": {
                                    "id": 21159,
                                    "name": "bytes",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "5940:5:67",
                                    "typeDescriptions": {}
                                  }
                                },
                                "id": 21163,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5940:17:67",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                },
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              ],
                              "expression": {
                                "id": 21142,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967295,
                                "src": "5832:3:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 21143,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "5836:12:67",
                              "memberName": "encodePacked",
                              "nodeType": "MemberAccess",
                              "src": "5832:16:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function () pure returns (bytes memory)"
                              }
                            },
                            "id": 21164,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5832:140:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "src": "5818:154:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        },
                        "id": 21166,
                        "nodeType": "ExpressionStatement",
                        "src": "5818:154:67"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    21170
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 21170,
                      "mutability": "mutable",
                      "name": "_encodedScript",
                      "nameLocation": "6007:14:67",
                      "nodeType": "VariableDeclaration",
                      "scope": 21380,
                      "src": "5994:27:67",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 21169,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "5994:5:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 21171,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5994:27:67"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 21176,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "expression": {
                          "id": 21172,
                          "name": "source",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21111,
                          "src": "6036:6:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                            "typeString": "struct Witnet.RadonRetrieval memory"
                          }
                        },
                        "id": 21173,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6043:6:67",
                        "memberName": "script",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16494,
                        "src": "6036:13:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      "id": 21174,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "6050:6:67",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "6036:20:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 21175,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6059:1:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "6036:24:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 21198,
                  "nodeType": "IfStatement",
                  "src": "6032:206:67",
                  "trueBody": {
                    "id": 21197,
                    "nodeType": "Block",
                    "src": "6062:176:67",
                    "statements": [
                      {
                        "expression": {
                          "id": 21195,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 21177,
                            "name": "_encodedScript",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21170,
                            "src": "6077:14:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "expression": {
                                          "expression": {
                                            "id": 21183,
                                            "name": "source",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 21111,
                                            "src": "6143:6:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                                              "typeString": "struct Witnet.RadonRetrieval memory"
                                            }
                                          },
                                          "id": 21184,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "6150:6:67",
                                          "memberName": "script",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 16494,
                                          "src": "6143:13:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_memory_ptr",
                                            "typeString": "bytes memory"
                                          }
                                        },
                                        "id": 21185,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "6157:6:67",
                                        "memberName": "length",
                                        "nodeType": "MemberAccess",
                                        "src": "6143:20:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "id": 21182,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "6136:6:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint64_$",
                                        "typeString": "type(uint64)"
                                      },
                                      "typeName": {
                                        "id": 21181,
                                        "name": "uint64",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6136:6:67",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 21186,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "6136:28:67",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    }
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "hexValue": "30783161",
                                        "id": 21189,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "6173:4:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_rational_26_by_1",
                                          "typeString": "int_const 26"
                                        },
                                        "value": "0x1a"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_rational_26_by_1",
                                          "typeString": "int_const 26"
                                        }
                                      ],
                                      "id": 21188,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "6166:6:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_bytes1_$",
                                        "typeString": "type(bytes1)"
                                      },
                                      "typeName": {
                                        "id": 21187,
                                        "name": "bytes1",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6166:6:67",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 21190,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "6166:12:67",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes1",
                                      "typeString": "bytes1"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    },
                                    {
                                      "typeIdentifier": "t_bytes1",
                                      "typeString": "bytes1"
                                    }
                                  ],
                                  "id": 21180,
                                  "name": "encode",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    20981,
                                    20996,
                                    21014,
                                    21108,
                                    21381,
                                    21477,
                                    21524,
                                    21593,
                                    21613,
                                    21681
                                  ],
                                  "referencedDeclaration": 21108,
                                  "src": "6129:6:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_bytes1_$returns$_t_bytes_memory_ptr_$",
                                    "typeString": "function (uint64,bytes1) pure returns (bytes memory)"
                                  }
                                },
                                "id": 21191,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "6129:50:67",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              },
                              {
                                "expression": {
                                  "id": 21192,
                                  "name": "source",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21111,
                                  "src": "6198:6:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                                    "typeString": "struct Witnet.RadonRetrieval memory"
                                  }
                                },
                                "id": 21193,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "6205:6:67",
                                "memberName": "script",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16494,
                                "src": "6198:13:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                },
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              ],
                              "expression": {
                                "id": 21178,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967295,
                                "src": "6094:3:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 21179,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "6098:12:67",
                              "memberName": "encodePacked",
                              "nodeType": "MemberAccess",
                              "src": "6094:16:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function () pure returns (bytes memory)"
                              }
                            },
                            "id": 21194,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "6094:132:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "src": "6077:149:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        },
                        "id": 21196,
                        "nodeType": "ExpressionStatement",
                        "src": "6077:149:67"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    21200
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 21200,
                      "mutability": "mutable",
                      "name": "_encodedBody",
                      "nameLocation": "6261:12:67",
                      "nodeType": "VariableDeclaration",
                      "scope": 21380,
                      "src": "6248:25:67",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 21199,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "6248:5:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 21201,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6248:25:67"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 21209,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "arguments": [
                          {
                            "expression": {
                              "id": 21204,
                              "name": "source",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21111,
                              "src": "6294:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                                "typeString": "struct Witnet.RadonRetrieval memory"
                              }
                            },
                            "id": 21205,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "6301:4:67",
                            "memberName": "body",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 16487,
                            "src": "6294:11:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "id": 21203,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "6288:5:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                            "typeString": "type(bytes storage pointer)"
                          },
                          "typeName": {
                            "id": 21202,
                            "name": "bytes",
                            "nodeType": "ElementaryTypeName",
                            "src": "6288:5:67",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 21206,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6288:18:67",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      "id": 21207,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "6307:6:67",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "6288:25:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 21208,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6316:1:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "6288:29:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 21237,
                  "nodeType": "IfStatement",
                  "src": "6284:219:67",
                  "trueBody": {
                    "id": 21236,
                    "nodeType": "Block",
                    "src": "6319:184:67",
                    "statements": [
                      {
                        "expression": {
                          "id": 21234,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 21210,
                            "name": "_encodedBody",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21200,
                            "src": "6334:12:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "expression": {
                                          "arguments": [
                                            {
                                              "expression": {
                                                "id": 21218,
                                                "name": "source",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 21111,
                                                "src": "6404:6:67",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                                                  "typeString": "struct Witnet.RadonRetrieval memory"
                                                }
                                              },
                                              "id": 21219,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "6411:4:67",
                                              "memberName": "body",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 16487,
                                              "src": "6404:11:67",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              }
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": [
                                              {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              }
                                            ],
                                            "id": 21217,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "nodeType": "ElementaryTypeNameExpression",
                                            "src": "6398:5:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                              "typeString": "type(bytes storage pointer)"
                                            },
                                            "typeName": {
                                              "id": 21216,
                                              "name": "bytes",
                                              "nodeType": "ElementaryTypeName",
                                              "src": "6398:5:67",
                                              "typeDescriptions": {}
                                            }
                                          },
                                          "id": 21220,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "typeConversion",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "6398:18:67",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_memory_ptr",
                                            "typeString": "bytes memory"
                                          }
                                        },
                                        "id": 21221,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "6417:6:67",
                                        "memberName": "length",
                                        "nodeType": "MemberAccess",
                                        "src": "6398:25:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "id": 21215,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "6391:6:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint64_$",
                                        "typeString": "type(uint64)"
                                      },
                                      "typeName": {
                                        "id": 21214,
                                        "name": "uint64",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6391:6:67",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 21222,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "6391:33:67",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    }
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "hexValue": "30783232",
                                        "id": 21225,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "6433:4:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_rational_34_by_1",
                                          "typeString": "int_const 34"
                                        },
                                        "value": "0x22"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_rational_34_by_1",
                                          "typeString": "int_const 34"
                                        }
                                      ],
                                      "id": 21224,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "6426:6:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_bytes1_$",
                                        "typeString": "type(bytes1)"
                                      },
                                      "typeName": {
                                        "id": 21223,
                                        "name": "bytes1",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6426:6:67",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 21226,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "6426:12:67",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes1",
                                      "typeString": "bytes1"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    },
                                    {
                                      "typeIdentifier": "t_bytes1",
                                      "typeString": "bytes1"
                                    }
                                  ],
                                  "id": 21213,
                                  "name": "encode",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    20981,
                                    20996,
                                    21014,
                                    21108,
                                    21381,
                                    21477,
                                    21524,
                                    21593,
                                    21613,
                                    21681
                                  ],
                                  "referencedDeclaration": 21108,
                                  "src": "6384:6:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_bytes1_$returns$_t_bytes_memory_ptr_$",
                                    "typeString": "function (uint64,bytes1) pure returns (bytes memory)"
                                  }
                                },
                                "id": 21227,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "6384:55:67",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              },
                              {
                                "arguments": [
                                  {
                                    "expression": {
                                      "id": 21230,
                                      "name": "source",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 21111,
                                      "src": "6464:6:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                                        "typeString": "struct Witnet.RadonRetrieval memory"
                                      }
                                    },
                                    "id": 21231,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "6471:4:67",
                                    "memberName": "body",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 16487,
                                    "src": "6464:11:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  ],
                                  "id": 21229,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "6458:5:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                    "typeString": "type(bytes storage pointer)"
                                  },
                                  "typeName": {
                                    "id": 21228,
                                    "name": "bytes",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "6458:5:67",
                                    "typeDescriptions": {}
                                  }
                                },
                                "id": 21232,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "6458:18:67",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                },
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              ],
                              "expression": {
                                "id": 21211,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967295,
                                "src": "6349:3:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 21212,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "6353:12:67",
                              "memberName": "encodePacked",
                              "nodeType": "MemberAccess",
                              "src": "6349:16:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function () pure returns (bytes memory)"
                              }
                            },
                            "id": 21233,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "6349:142:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "src": "6334:157:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        },
                        "id": 21235,
                        "nodeType": "ExpressionStatement",
                        "src": "6334:157:67"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    21239
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 21239,
                      "mutability": "mutable",
                      "name": "_encodedHeaders",
                      "nameLocation": "6526:15:67",
                      "nodeType": "VariableDeclaration",
                      "scope": 21380,
                      "src": "6513:28:67",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 21238,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "6513:5:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 21240,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6513:28:67"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 21245,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "expression": {
                          "id": 21241,
                          "name": "source",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21111,
                          "src": "6556:6:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                            "typeString": "struct Witnet.RadonRetrieval memory"
                          }
                        },
                        "id": 21242,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6563:7:67",
                        "memberName": "headers",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16492,
                        "src": "6556:14:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr",
                          "typeString": "string memory[2] memory[] memory"
                        }
                      },
                      "id": 21243,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "6571:6:67",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "6556:21:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 21244,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6580:1:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "6556:25:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 21342,
                  "nodeType": "IfStatement",
                  "src": "6552:698:67",
                  "trueBody": {
                    "id": 21341,
                    "nodeType": "Block",
                    "src": "6583:667:67",
                    "statements": [
                      {
                        "body": {
                          "id": 21339,
                          "nodeType": "Block",
                          "src": "6654:585:67",
                          "statements": [
                            {
                              "assignments": [
                                21259
                              ],
                              "declarations": [
                                {
                                  "constant": false,
                                  "id": 21259,
                                  "mutability": "mutable",
                                  "name": "_headers",
                                  "nameLocation": "6686:8:67",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 21339,
                                  "src": "6673:21:67",
                                  "stateVariable": false,
                                  "storageLocation": "memory",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes"
                                  },
                                  "typeName": {
                                    "id": 21258,
                                    "name": "bytes",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "6673:5:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_storage_ptr",
                                      "typeString": "bytes"
                                    }
                                  },
                                  "visibility": "internal"
                                }
                              ],
                              "id": 21319,
                              "initialValue": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "expression": {
                                              "arguments": [
                                                {
                                                  "baseExpression": {
                                                    "baseExpression": {
                                                      "expression": {
                                                        "id": 21267,
                                                        "name": "source",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 21111,
                                                        "src": "6756:6:67",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                                                          "typeString": "struct Witnet.RadonRetrieval memory"
                                                        }
                                                      },
                                                      "id": 21268,
                                                      "isConstant": false,
                                                      "isLValue": true,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "memberLocation": "6763:7:67",
                                                      "memberName": "headers",
                                                      "nodeType": "MemberAccess",
                                                      "referencedDeclaration": 16492,
                                                      "src": "6756:14:67",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr",
                                                        "typeString": "string memory[2] memory[] memory"
                                                      }
                                                    },
                                                    "id": 21270,
                                                    "indexExpression": {
                                                      "id": 21269,
                                                      "name": "_ix",
                                                      "nodeType": "Identifier",
                                                      "overloadedDeclarations": [],
                                                      "referencedDeclaration": 21247,
                                                      "src": "6771:3:67",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                      }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "6756:19:67",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr",
                                                      "typeString": "string memory[2] memory"
                                                    }
                                                  },
                                                  "id": 21272,
                                                  "indexExpression": {
                                                    "hexValue": "30",
                                                    "id": 21271,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "number",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "6776:1:67",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_rational_0_by_1",
                                                      "typeString": "int_const 0"
                                                    },
                                                    "value": "0"
                                                  },
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "nodeType": "IndexAccess",
                                                  "src": "6756:22:67",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_string_memory_ptr",
                                                    "typeString": "string memory"
                                                  }
                                                }
                                              ],
                                              "expression": {
                                                "argumentTypes": [
                                                  {
                                                    "typeIdentifier": "t_string_memory_ptr",
                                                    "typeString": "string memory"
                                                  }
                                                ],
                                                "id": 21266,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "lValueRequested": false,
                                                "nodeType": "ElementaryTypeNameExpression",
                                                "src": "6750:5:67",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                                  "typeString": "type(bytes storage pointer)"
                                                },
                                                "typeName": {
                                                  "id": 21265,
                                                  "name": "bytes",
                                                  "nodeType": "ElementaryTypeName",
                                                  "src": "6750:5:67",
                                                  "typeDescriptions": {}
                                                }
                                              },
                                              "id": 21273,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "kind": "typeConversion",
                                              "lValueRequested": false,
                                              "nameLocations": [],
                                              "names": [],
                                              "nodeType": "FunctionCall",
                                              "src": "6750:29:67",
                                              "tryCall": false,
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                "typeString": "bytes memory"
                                              }
                                            },
                                            "id": 21274,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "6780:6:67",
                                            "memberName": "length",
                                            "nodeType": "MemberAccess",
                                            "src": "6750:36:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          ],
                                          "id": 21264,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "6743:6:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_uint64_$",
                                            "typeString": "type(uint64)"
                                          },
                                          "typeName": {
                                            "id": 21263,
                                            "name": "uint64",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "6743:6:67",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 21275,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6743:44:67",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint64",
                                          "typeString": "uint64"
                                        }
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "hexValue": "30783061",
                                            "id": 21278,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "6796:4:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_rational_10_by_1",
                                              "typeString": "int_const 10"
                                            },
                                            "value": "0x0a"
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_rational_10_by_1",
                                              "typeString": "int_const 10"
                                            }
                                          ],
                                          "id": 21277,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "6789:6:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_bytes1_$",
                                            "typeString": "type(bytes1)"
                                          },
                                          "typeName": {
                                            "id": 21276,
                                            "name": "bytes1",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "6789:6:67",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 21279,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6789:12:67",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_uint64",
                                          "typeString": "uint64"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        }
                                      ],
                                      "id": 21262,
                                      "name": "encode",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [
                                        20981,
                                        20996,
                                        21014,
                                        21108,
                                        21381,
                                        21477,
                                        21524,
                                        21593,
                                        21613,
                                        21681
                                      ],
                                      "referencedDeclaration": 21108,
                                      "src": "6736:6:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_bytes1_$returns$_t_bytes_memory_ptr_$",
                                        "typeString": "function (uint64,bytes1) pure returns (bytes memory)"
                                      }
                                    },
                                    "id": 21280,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "6736:66:67",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "baseExpression": {
                                          "baseExpression": {
                                            "expression": {
                                              "id": 21283,
                                              "name": "source",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 21111,
                                              "src": "6831:6:67",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                                                "typeString": "struct Witnet.RadonRetrieval memory"
                                              }
                                            },
                                            "id": 21284,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "6838:7:67",
                                            "memberName": "headers",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 16492,
                                            "src": "6831:14:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr",
                                              "typeString": "string memory[2] memory[] memory"
                                            }
                                          },
                                          "id": 21286,
                                          "indexExpression": {
                                            "id": 21285,
                                            "name": "_ix",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 21247,
                                            "src": "6846:3:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "nodeType": "IndexAccess",
                                          "src": "6831:19:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr",
                                            "typeString": "string memory[2] memory"
                                          }
                                        },
                                        "id": 21288,
                                        "indexExpression": {
                                          "hexValue": "30",
                                          "id": 21287,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "6851:1:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_rational_0_by_1",
                                            "typeString": "int_const 0"
                                          },
                                          "value": "0"
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "6831:22:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      ],
                                      "id": 21282,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "6825:5:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                        "typeString": "type(bytes storage pointer)"
                                      },
                                      "typeName": {
                                        "id": 21281,
                                        "name": "bytes",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6825:5:67",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 21289,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "6825:29:67",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "expression": {
                                              "arguments": [
                                                {
                                                  "baseExpression": {
                                                    "baseExpression": {
                                                      "expression": {
                                                        "id": 21295,
                                                        "name": "source",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 21111,
                                                        "src": "6897:6:67",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                                                          "typeString": "struct Witnet.RadonRetrieval memory"
                                                        }
                                                      },
                                                      "id": 21296,
                                                      "isConstant": false,
                                                      "isLValue": true,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "memberLocation": "6904:7:67",
                                                      "memberName": "headers",
                                                      "nodeType": "MemberAccess",
                                                      "referencedDeclaration": 16492,
                                                      "src": "6897:14:67",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr",
                                                        "typeString": "string memory[2] memory[] memory"
                                                      }
                                                    },
                                                    "id": 21298,
                                                    "indexExpression": {
                                                      "id": 21297,
                                                      "name": "_ix",
                                                      "nodeType": "Identifier",
                                                      "overloadedDeclarations": [],
                                                      "referencedDeclaration": 21247,
                                                      "src": "6912:3:67",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                      }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "6897:19:67",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr",
                                                      "typeString": "string memory[2] memory"
                                                    }
                                                  },
                                                  "id": 21300,
                                                  "indexExpression": {
                                                    "hexValue": "31",
                                                    "id": 21299,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "number",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "6917:1:67",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_rational_1_by_1",
                                                      "typeString": "int_const 1"
                                                    },
                                                    "value": "1"
                                                  },
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "nodeType": "IndexAccess",
                                                  "src": "6897:22:67",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_string_memory_ptr",
                                                    "typeString": "string memory"
                                                  }
                                                }
                                              ],
                                              "expression": {
                                                "argumentTypes": [
                                                  {
                                                    "typeIdentifier": "t_string_memory_ptr",
                                                    "typeString": "string memory"
                                                  }
                                                ],
                                                "id": 21294,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "lValueRequested": false,
                                                "nodeType": "ElementaryTypeNameExpression",
                                                "src": "6891:5:67",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                                  "typeString": "type(bytes storage pointer)"
                                                },
                                                "typeName": {
                                                  "id": 21293,
                                                  "name": "bytes",
                                                  "nodeType": "ElementaryTypeName",
                                                  "src": "6891:5:67",
                                                  "typeDescriptions": {}
                                                }
                                              },
                                              "id": 21301,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "kind": "typeConversion",
                                              "lValueRequested": false,
                                              "nameLocations": [],
                                              "names": [],
                                              "nodeType": "FunctionCall",
                                              "src": "6891:29:67",
                                              "tryCall": false,
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                "typeString": "bytes memory"
                                              }
                                            },
                                            "id": 21302,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "6921:6:67",
                                            "memberName": "length",
                                            "nodeType": "MemberAccess",
                                            "src": "6891:36:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          ],
                                          "id": 21292,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "6884:6:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_uint64_$",
                                            "typeString": "type(uint64)"
                                          },
                                          "typeName": {
                                            "id": 21291,
                                            "name": "uint64",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "6884:6:67",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 21303,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6884:44:67",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint64",
                                          "typeString": "uint64"
                                        }
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "hexValue": "30783132",
                                            "id": 21306,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "6937:4:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_rational_18_by_1",
                                              "typeString": "int_const 18"
                                            },
                                            "value": "0x12"
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_rational_18_by_1",
                                              "typeString": "int_const 18"
                                            }
                                          ],
                                          "id": 21305,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "6930:6:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_bytes1_$",
                                            "typeString": "type(bytes1)"
                                          },
                                          "typeName": {
                                            "id": 21304,
                                            "name": "bytes1",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "6930:6:67",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 21307,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6930:12:67",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_uint64",
                                          "typeString": "uint64"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        }
                                      ],
                                      "id": 21290,
                                      "name": "encode",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [
                                        20981,
                                        20996,
                                        21014,
                                        21108,
                                        21381,
                                        21477,
                                        21524,
                                        21593,
                                        21613,
                                        21681
                                      ],
                                      "referencedDeclaration": 21108,
                                      "src": "6877:6:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_bytes1_$returns$_t_bytes_memory_ptr_$",
                                        "typeString": "function (uint64,bytes1) pure returns (bytes memory)"
                                      }
                                    },
                                    "id": 21308,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "6877:66:67",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "baseExpression": {
                                          "baseExpression": {
                                            "expression": {
                                              "id": 21311,
                                              "name": "source",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 21111,
                                              "src": "6972:6:67",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                                                "typeString": "struct Witnet.RadonRetrieval memory"
                                              }
                                            },
                                            "id": 21312,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "6979:7:67",
                                            "memberName": "headers",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 16492,
                                            "src": "6972:14:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr",
                                              "typeString": "string memory[2] memory[] memory"
                                            }
                                          },
                                          "id": 21314,
                                          "indexExpression": {
                                            "id": 21313,
                                            "name": "_ix",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 21247,
                                            "src": "6987:3:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "nodeType": "IndexAccess",
                                          "src": "6972:19:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr",
                                            "typeString": "string memory[2] memory"
                                          }
                                        },
                                        "id": 21316,
                                        "indexExpression": {
                                          "hexValue": "31",
                                          "id": 21315,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "6992:1:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_rational_1_by_1",
                                            "typeString": "int_const 1"
                                          },
                                          "value": "1"
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "6972:22:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      ],
                                      "id": 21310,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "6966:5:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                        "typeString": "type(bytes storage pointer)"
                                      },
                                      "typeName": {
                                        "id": 21309,
                                        "name": "bytes",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6966:5:67",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 21317,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "6966:29:67",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    },
                                    {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    },
                                    {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    },
                                    {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  ],
                                  "expression": {
                                    "id": 21260,
                                    "name": "abi",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4294967295,
                                    "src": "6697:3:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_abi",
                                      "typeString": "abi"
                                    }
                                  },
                                  "id": 21261,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "6701:12:67",
                                  "memberName": "encodePacked",
                                  "nodeType": "MemberAccess",
                                  "src": "6697:16:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                    "typeString": "function () pure returns (bytes memory)"
                                  }
                                },
                                "id": 21318,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "6697:317:67",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              },
                              "nodeType": "VariableDeclarationStatement",
                              "src": "6673:341:67"
                            },
                            {
                              "expression": {
                                "id": 21337,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 21320,
                                  "name": "_encodedHeaders",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21239,
                                  "src": "7033:15:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "arguments": [
                                    {
                                      "id": 21323,
                                      "name": "_encodedHeaders",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 21239,
                                      "src": "7090:15:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "arguments": [
                                            {
                                              "expression": {
                                                "id": 21327,
                                                "name": "_headers",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 21259,
                                                "src": "7142:8:67",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_bytes_memory_ptr",
                                                  "typeString": "bytes memory"
                                                }
                                              },
                                              "id": 21328,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "7151:6:67",
                                              "memberName": "length",
                                              "nodeType": "MemberAccess",
                                              "src": "7142:15:67",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": [
                                              {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            ],
                                            "id": 21326,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "nodeType": "ElementaryTypeNameExpression",
                                            "src": "7135:6:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_uint64_$",
                                              "typeString": "type(uint64)"
                                            },
                                            "typeName": {
                                              "id": 21325,
                                              "name": "uint64",
                                              "nodeType": "ElementaryTypeName",
                                              "src": "7135:6:67",
                                              "typeDescriptions": {}
                                            }
                                          },
                                          "id": 21329,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "typeConversion",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "7135:23:67",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint64",
                                            "typeString": "uint64"
                                          }
                                        },
                                        {
                                          "arguments": [
                                            {
                                              "hexValue": "30783261",
                                              "id": 21332,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "kind": "number",
                                              "lValueRequested": false,
                                              "nodeType": "Literal",
                                              "src": "7167:4:67",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_rational_42_by_1",
                                                "typeString": "int_const 42"
                                              },
                                              "value": "0x2a"
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": [
                                              {
                                                "typeIdentifier": "t_rational_42_by_1",
                                                "typeString": "int_const 42"
                                              }
                                            ],
                                            "id": 21331,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "nodeType": "ElementaryTypeNameExpression",
                                            "src": "7160:6:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_bytes1_$",
                                              "typeString": "type(bytes1)"
                                            },
                                            "typeName": {
                                              "id": 21330,
                                              "name": "bytes1",
                                              "nodeType": "ElementaryTypeName",
                                              "src": "7160:6:67",
                                              "typeDescriptions": {}
                                            }
                                          },
                                          "id": 21333,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "typeConversion",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "7160:12:67",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes1",
                                            "typeString": "bytes1"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_uint64",
                                            "typeString": "uint64"
                                          },
                                          {
                                            "typeIdentifier": "t_bytes1",
                                            "typeString": "bytes1"
                                          }
                                        ],
                                        "id": 21324,
                                        "name": "encode",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [
                                          20981,
                                          20996,
                                          21014,
                                          21108,
                                          21381,
                                          21477,
                                          21524,
                                          21593,
                                          21613,
                                          21681
                                        ],
                                        "referencedDeclaration": 21108,
                                        "src": "7128:6:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_bytes1_$returns$_t_bytes_memory_ptr_$",
                                          "typeString": "function (uint64,bytes1) pure returns (bytes memory)"
                                        }
                                      },
                                      "id": 21334,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "7128:45:67",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    },
                                    {
                                      "id": 21335,
                                      "name": "_headers",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 21259,
                                      "src": "7196:8:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      },
                                      {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      },
                                      {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    ],
                                    "expression": {
                                      "id": 21321,
                                      "name": "abi",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4294967295,
                                      "src": "7051:3:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_magic_abi",
                                        "typeString": "abi"
                                      }
                                    },
                                    "id": 21322,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "7055:12:67",
                                    "memberName": "encodePacked",
                                    "nodeType": "MemberAccess",
                                    "src": "7051:16:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                      "typeString": "function () pure returns (bytes memory)"
                                    }
                                  },
                                  "id": 21336,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "7051:172:67",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                },
                                "src": "7033:190:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              },
                              "id": 21338,
                              "nodeType": "ExpressionStatement",
                              "src": "7033:190:67"
                            }
                          ]
                        },
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 21254,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 21250,
                            "name": "_ix",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21247,
                            "src": "6617:3:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 21251,
                                "name": "source",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21111,
                                "src": "6623:6:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                                  "typeString": "struct Witnet.RadonRetrieval memory"
                                }
                              },
                              "id": 21252,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "6630:7:67",
                              "memberName": "headers",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16492,
                              "src": "6623:14:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr",
                                "typeString": "string memory[2] memory[] memory"
                              }
                            },
                            "id": 21253,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "6638:6:67",
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "src": "6623:21:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "6617:27:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 21340,
                        "initializationExpression": {
                          "assignments": [
                            21247
                          ],
                          "declarations": [
                            {
                              "constant": false,
                              "id": 21247,
                              "mutability": "mutable",
                              "name": "_ix",
                              "nameLocation": "6608:3:67",
                              "nodeType": "VariableDeclaration",
                              "scope": 21340,
                              "src": "6603:8:67",
                              "stateVariable": false,
                              "storageLocation": "default",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "typeName": {
                                "id": 21246,
                                "name": "uint",
                                "nodeType": "ElementaryTypeName",
                                "src": "6603:4:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "visibility": "internal"
                            }
                          ],
                          "id": 21249,
                          "initialValue": {
                            "hexValue": "30",
                            "id": 21248,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "6614:1:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "nodeType": "VariableDeclarationStatement",
                          "src": "6603:12:67"
                        },
                        "isSimpleCounterLoop": true,
                        "loopExpression": {
                          "expression": {
                            "id": 21256,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "UnaryOperation",
                            "operator": "++",
                            "prefix": false,
                            "src": "6646:6:67",
                            "subExpression": {
                              "id": 21255,
                              "name": "_ix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21247,
                              "src": "6646:3:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 21257,
                          "nodeType": "ExpressionStatement",
                          "src": "6646:6:67"
                        },
                        "nodeType": "ForStatement",
                        "src": "6598:641:67"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    21344
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 21344,
                      "mutability": "mutable",
                      "name": "_innerSize",
                      "nameLocation": "7265:10:67",
                      "nodeType": "VariableDeclaration",
                      "scope": 21380,
                      "src": "7260:15:67",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 21343,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "7260:4:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 21360,
                  "initialValue": {
                    "components": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 21358,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 21355,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 21352,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 21349,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "expression": {
                                  "id": 21345,
                                  "name": "_encodedMethod",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21117,
                                  "src": "7293:14:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                },
                                "id": 21346,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "7308:6:67",
                                "memberName": "length",
                                "nodeType": "MemberAccess",
                                "src": "7293:21:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "+",
                              "rightExpression": {
                                "expression": {
                                  "id": 21347,
                                  "name": "_encodedUrl",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21131,
                                  "src": "7334:11:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                },
                                "id": 21348,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "7346:6:67",
                                "memberName": "length",
                                "nodeType": "MemberAccess",
                                "src": "7334:18:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "7293:59:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "+",
                            "rightExpression": {
                              "expression": {
                                "id": 21350,
                                "name": "_encodedScript",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21170,
                                "src": "7372:14:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              },
                              "id": 21351,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "7387:6:67",
                              "memberName": "length",
                              "nodeType": "MemberAccess",
                              "src": "7372:21:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "7293:100:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "expression": {
                              "id": 21353,
                              "name": "_encodedBody",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21200,
                              "src": "7413:12:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            },
                            "id": 21354,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "7426:6:67",
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "src": "7413:19:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "7293:139:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "+",
                        "rightExpression": {
                          "expression": {
                            "id": 21356,
                            "name": "_encodedHeaders",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21239,
                            "src": "7452:15:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "id": 21357,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "7468:6:67",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "7452:22:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "7293:181:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "id": 21359,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "7278:207:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7260:225:67"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "id": 21366,
                                "name": "_innerSize",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21344,
                                "src": "7548:10:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 21365,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "7541:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint64_$",
                                "typeString": "type(uint64)"
                              },
                              "typeName": {
                                "id": 21364,
                                "name": "uint64",
                                "nodeType": "ElementaryTypeName",
                                "src": "7541:6:67",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21367,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "7541:18:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          },
                          {
                            "arguments": [
                              {
                                "hexValue": "30783132",
                                "id": 21370,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "7568:4:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_18_by_1",
                                  "typeString": "int_const 18"
                                },
                                "value": "0x12"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_18_by_1",
                                  "typeString": "int_const 18"
                                }
                              ],
                              "id": 21369,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "7561:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes1_$",
                                "typeString": "type(bytes1)"
                              },
                              "typeName": {
                                "id": 21368,
                                "name": "bytes1",
                                "nodeType": "ElementaryTypeName",
                                "src": "7561:6:67",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21371,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "7561:12:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            },
                            {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          ],
                          "id": 21363,
                          "name": "encode",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [
                            20981,
                            20996,
                            21014,
                            21108,
                            21381,
                            21477,
                            21524,
                            21593,
                            21613,
                            21681
                          ],
                          "referencedDeclaration": 21108,
                          "src": "7534:6:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_bytes1_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (uint64,bytes1) pure returns (bytes memory)"
                          }
                        },
                        "id": 21372,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7534:40:67",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "id": 21373,
                        "name": "_encodedMethod",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21117,
                        "src": "7589:14:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "id": 21374,
                        "name": "_encodedUrl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21131,
                        "src": "7618:11:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "id": 21375,
                        "name": "_encodedScript",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21170,
                        "src": "7644:14:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "id": 21376,
                        "name": "_encodedBody",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21200,
                        "src": "7673:12:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "id": 21377,
                        "name": "_encodedHeaders",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21239,
                        "src": "7700:15:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "id": 21361,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967295,
                        "src": "7503:3:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 21362,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "7507:12:67",
                      "memberName": "encodePacked",
                      "nodeType": "MemberAccess",
                      "src": "7503:16:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function () pure returns (bytes memory)"
                      }
                    },
                    "id": 21378,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7503:223:67",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "functionReturnParameters": 21115,
                  "id": 21379,
                  "nodeType": "Return",
                  "src": "7496:230:67"
                }
              ]
            },
            "functionSelector": "fa5dce12",
            "id": 21381,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "encode",
            "nameLocation": "5537:6:67",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 21112,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21111,
                  "mutability": "mutable",
                  "name": "source",
                  "nameLocation": "5573:6:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21381,
                  "src": "5544:35:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                    "typeString": "struct Witnet.RadonRetrieval"
                  },
                  "typeName": {
                    "id": 21110,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 21109,
                      "name": "Witnet.RadonRetrieval",
                      "nameLocations": [
                        "5544:6:67",
                        "5551:14:67"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16495,
                      "src": "5544:21:67"
                    },
                    "referencedDeclaration": 16495,
                    "src": "5544:21:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonRetrieval_$16495_storage_ptr",
                      "typeString": "struct Witnet.RadonRetrieval"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5543:37:67"
            },
            "returnParameters": {
              "id": 21115,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21114,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 21381,
                  "src": "5620:12:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 21113,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "5620:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5619:14:67"
            },
            "scope": 22450,
            "src": "5528:2206:67",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 21476,
              "nodeType": "Block",
              "src": "8035:566:67",
              "statements": [
                {
                  "assignments": [
                    21404
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 21404,
                      "mutability": "mutable",
                      "name": "encodedSources",
                      "nameLocation": "8061:14:67",
                      "nodeType": "VariableDeclaration",
                      "scope": 21476,
                      "src": "8046:29:67",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
                        "typeString": "bytes[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 21402,
                          "name": "bytes",
                          "nodeType": "ElementaryTypeName",
                          "src": "8046:5:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_storage_ptr",
                            "typeString": "bytes"
                          }
                        },
                        "id": 21403,
                        "nodeType": "ArrayTypeName",
                        "src": "8046:7:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
                          "typeString": "bytes[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 21411,
                  "initialValue": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 21408,
                          "name": "sources",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21385,
                          "src": "8090:7:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$16495_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct Witnet.RadonRetrieval memory[] memory"
                          }
                        },
                        "id": 21409,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "8098:6:67",
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "src": "8090:14:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 21407,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "8078:11:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function (uint256) pure returns (bytes memory[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 21405,
                          "name": "bytes",
                          "nodeType": "ElementaryTypeName",
                          "src": "8082:5:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_storage_ptr",
                            "typeString": "bytes"
                          }
                        },
                        "id": 21406,
                        "nodeType": "ArrayTypeName",
                        "src": "8082:7:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
                          "typeString": "bytes[]"
                        }
                      }
                    },
                    "id": 21410,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8078:27:67",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
                      "typeString": "bytes memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8046:59:67"
                },
                {
                  "body": {
                    "id": 21442,
                    "nodeType": "Block",
                    "src": "8162:121:67",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "baseExpression": {
                                "id": 21424,
                                "name": "sources",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21385,
                                "src": "8194:7:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$16495_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct Witnet.RadonRetrieval memory[] memory"
                                }
                              },
                              "id": 21426,
                              "indexExpression": {
                                "id": 21425,
                                "name": "ix",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21413,
                                "src": "8202:2:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "8194:11:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                                "typeString": "struct Witnet.RadonRetrieval memory"
                              }
                            },
                            {
                              "baseExpression": {
                                "id": 21427,
                                "name": "args",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21389,
                                "src": "8207:4:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "string memory[] memory[] memory"
                                }
                              },
                              "id": 21429,
                              "indexExpression": {
                                "id": 21428,
                                "name": "ix",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21413,
                                "src": "8212:2:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "8207:8:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                                "typeString": "string memory[] memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                                "typeString": "struct Witnet.RadonRetrieval memory"
                              },
                              {
                                "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                                "typeString": "string memory[] memory"
                              }
                            ],
                            "id": 21423,
                            "name": "replaceWildcards",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21814,
                            "src": "8177:16:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_struct$_RadonRetrieval_$16495_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$__$",
                              "typeString": "function (struct Witnet.RadonRetrieval memory,string memory[] memory) pure"
                            }
                          },
                          "id": 21430,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "8177:39:67",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 21431,
                        "nodeType": "ExpressionStatement",
                        "src": "8177:39:67"
                      },
                      {
                        "expression": {
                          "id": 21440,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 21432,
                              "name": "encodedSources",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21404,
                              "src": "8231:14:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
                                "typeString": "bytes memory[] memory"
                              }
                            },
                            "id": 21434,
                            "indexExpression": {
                              "id": 21433,
                              "name": "ix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21413,
                              "src": "8246:2:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "8231:18:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "baseExpression": {
                                  "id": 21436,
                                  "name": "sources",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21385,
                                  "src": "8259:7:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$16495_memory_ptr_$dyn_memory_ptr",
                                    "typeString": "struct Witnet.RadonRetrieval memory[] memory"
                                  }
                                },
                                "id": 21438,
                                "indexExpression": {
                                  "id": 21437,
                                  "name": "ix",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21413,
                                  "src": "8267:2:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "8259:11:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                                  "typeString": "struct Witnet.RadonRetrieval memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                                  "typeString": "struct Witnet.RadonRetrieval memory"
                                }
                              ],
                              "id": 21435,
                              "name": "encode",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                20981,
                                20996,
                                21014,
                                21108,
                                21381,
                                21477,
                                21524,
                                21593,
                                21613,
                                21681
                              ],
                              "referencedDeclaration": 21381,
                              "src": "8252:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_struct$_RadonRetrieval_$16495_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function (struct Witnet.RadonRetrieval memory) pure returns (bytes memory)"
                              }
                            },
                            "id": 21439,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8252:19:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "src": "8231:40:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        },
                        "id": 21441,
                        "nodeType": "ExpressionStatement",
                        "src": "8231:40:67"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 21419,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 21416,
                      "name": "ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 21413,
                      "src": "8134:2:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 21417,
                        "name": "sources",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21385,
                        "src": "8139:7:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$16495_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct Witnet.RadonRetrieval memory[] memory"
                        }
                      },
                      "id": 21418,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8147:6:67",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "8139:14:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8134:19:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 21443,
                  "initializationExpression": {
                    "assignments": [
                      21413
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 21413,
                        "mutability": "mutable",
                        "name": "ix",
                        "nameLocation": "8126:2:67",
                        "nodeType": "VariableDeclaration",
                        "scope": 21443,
                        "src": "8121:7:67",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 21412,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "8121:4:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 21415,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 21414,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "8131:1:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "8121:11:67"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 21421,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "8155:5:67",
                      "subExpression": {
                        "id": 21420,
                        "name": "ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21413,
                        "src": "8155:2:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 21422,
                    "nodeType": "ExpressionStatement",
                    "src": "8155:5:67"
                  },
                  "nodeType": "ForStatement",
                  "src": "8116:167:67"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 21448,
                            "name": "encodedSources",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21404,
                            "src": "8351:14:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
                              "typeString": "bytes memory[] memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
                              "typeString": "bytes memory[] memory"
                            }
                          ],
                          "expression": {
                            "id": 21446,
                            "name": "WitnetBuffer",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19191,
                            "src": "8331:12:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_WitnetBuffer_$19191_$",
                              "typeString": "type(library WitnetBuffer)"
                            }
                          },
                          "id": 21447,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "8344:6:67",
                          "memberName": "concat",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 17647,
                          "src": "8331:19:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes memory[] memory) pure returns (bytes memory)"
                          }
                        },
                        "id": 21449,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8331:35:67",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 21453,
                                  "name": "aggregatorInnerBytecode",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21391,
                                  "src": "8395:23:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                },
                                "id": 21454,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "8419:6:67",
                                "memberName": "length",
                                "nodeType": "MemberAccess",
                                "src": "8395:30:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 21452,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "8388:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint64_$",
                                "typeString": "type(uint64)"
                              },
                              "typeName": {
                                "id": 21451,
                                "name": "uint64",
                                "nodeType": "ElementaryTypeName",
                                "src": "8388:6:67",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21455,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8388:38:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          },
                          {
                            "arguments": [
                              {
                                "hexValue": "30783161",
                                "id": 21458,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "8435:4:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_26_by_1",
                                  "typeString": "int_const 26"
                                },
                                "value": "0x1a"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_26_by_1",
                                  "typeString": "int_const 26"
                                }
                              ],
                              "id": 21457,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "8428:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes1_$",
                                "typeString": "type(bytes1)"
                              },
                              "typeName": {
                                "id": 21456,
                                "name": "bytes1",
                                "nodeType": "ElementaryTypeName",
                                "src": "8428:6:67",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21459,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8428:12:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            },
                            {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          ],
                          "id": 21450,
                          "name": "encode",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [
                            20981,
                            20996,
                            21014,
                            21108,
                            21381,
                            21477,
                            21524,
                            21593,
                            21613,
                            21681
                          ],
                          "referencedDeclaration": 21108,
                          "src": "8381:6:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_bytes1_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (uint64,bytes1) pure returns (bytes memory)"
                          }
                        },
                        "id": 21460,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8381:60:67",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "id": 21461,
                        "name": "aggregatorInnerBytecode",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21391,
                        "src": "8456:23:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 21465,
                                  "name": "tallyInnerBytecode",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21393,
                                  "src": "8508:18:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                },
                                "id": 21466,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "8527:6:67",
                                "memberName": "length",
                                "nodeType": "MemberAccess",
                                "src": "8508:25:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 21464,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "8501:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint64_$",
                                "typeString": "type(uint64)"
                              },
                              "typeName": {
                                "id": 21463,
                                "name": "uint64",
                                "nodeType": "ElementaryTypeName",
                                "src": "8501:6:67",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21467,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8501:33:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          },
                          {
                            "arguments": [
                              {
                                "hexValue": "30783232",
                                "id": 21470,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "8543:4:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_34_by_1",
                                  "typeString": "int_const 34"
                                },
                                "value": "0x22"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_34_by_1",
                                  "typeString": "int_const 34"
                                }
                              ],
                              "id": 21469,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "8536:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes1_$",
                                "typeString": "type(bytes1)"
                              },
                              "typeName": {
                                "id": 21468,
                                "name": "bytes1",
                                "nodeType": "ElementaryTypeName",
                                "src": "8536:6:67",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21471,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8536:12:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            },
                            {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          ],
                          "id": 21462,
                          "name": "encode",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [
                            20981,
                            20996,
                            21014,
                            21108,
                            21381,
                            21477,
                            21524,
                            21593,
                            21613,
                            21681
                          ],
                          "referencedDeclaration": 21108,
                          "src": "8494:6:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_bytes1_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (uint64,bytes1) pure returns (bytes memory)"
                          }
                        },
                        "id": 21472,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8494:55:67",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "id": 21473,
                        "name": "tallyInnerBytecode",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21393,
                        "src": "8564:18:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "id": 21444,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967295,
                        "src": "8300:3:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 21445,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "8304:12:67",
                      "memberName": "encodePacked",
                      "nodeType": "MemberAccess",
                      "src": "8300:16:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function () pure returns (bytes memory)"
                      }
                    },
                    "id": 21474,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8300:293:67",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "functionReturnParameters": 21399,
                  "id": 21475,
                  "nodeType": "Return",
                  "src": "8293:300:67"
                }
              ]
            },
            "functionSelector": "b6349ebd",
            "id": 21477,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "encode",
            "nameLocation": "7751:6:67",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 21396,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21385,
                  "mutability": "mutable",
                  "name": "sources",
                  "nameLocation": "7803:7:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21477,
                  "src": "7772:38:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$16495_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct Witnet.RadonRetrieval[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 21383,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 21382,
                        "name": "Witnet.RadonRetrieval",
                        "nameLocations": [
                          "7772:6:67",
                          "7779:14:67"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 16495,
                        "src": "7772:21:67"
                      },
                      "referencedDeclaration": 16495,
                      "src": "7772:21:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RadonRetrieval_$16495_storage_ptr",
                        "typeString": "struct Witnet.RadonRetrieval"
                      }
                    },
                    "id": 21384,
                    "nodeType": "ArrayTypeName",
                    "src": "7772:23:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$16495_storage_$dyn_storage_ptr",
                      "typeString": "struct Witnet.RadonRetrieval[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21389,
                  "mutability": "mutable",
                  "name": "args",
                  "nameLocation": "7843:4:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21477,
                  "src": "7825:22:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$dyn_memory_ptr",
                    "typeString": "string[][]"
                  },
                  "typeName": {
                    "baseType": {
                      "baseType": {
                        "id": 21386,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "7825:6:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "id": 21387,
                      "nodeType": "ArrayTypeName",
                      "src": "7825:8:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                        "typeString": "string[]"
                      }
                    },
                    "id": 21388,
                    "nodeType": "ArrayTypeName",
                    "src": "7825:10:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_array$_t_string_storage_$dyn_storage_$dyn_storage_ptr",
                      "typeString": "string[][]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21391,
                  "mutability": "mutable",
                  "name": "aggregatorInnerBytecode",
                  "nameLocation": "7875:23:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21477,
                  "src": "7862:36:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 21390,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "7862:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21393,
                  "mutability": "mutable",
                  "name": "tallyInnerBytecode",
                  "nameLocation": "7926:18:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21477,
                  "src": "7913:31:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 21392,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "7913:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21395,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 21477,
                  "src": "7959:6:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  },
                  "typeName": {
                    "id": 21394,
                    "name": "uint16",
                    "nodeType": "ElementaryTypeName",
                    "src": "7959:6:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7757:219:67"
            },
            "returnParameters": {
              "id": 21399,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21398,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 21477,
                  "src": "8016:12:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 21397,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "8016:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8015:14:67"
            },
            "scope": 22450,
            "src": "7742:859:67",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 21523,
              "nodeType": "Block",
              "src": "8728:612:67",
              "statements": [
                {
                  "body": {
                    "id": 21510,
                    "nodeType": "Block",
                    "src": "8843:162:67",
                    "statements": [
                      {
                        "expression": {
                          "id": 21508,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 21497,
                            "name": "bytecode",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21483,
                            "src": "8862:8:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "id": 21500,
                                "name": "bytecode",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21483,
                                "src": "8912:8:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              },
                              {
                                "arguments": [
                                  {
                                    "baseExpression": {
                                      "expression": {
                                        "id": 21502,
                                        "name": "reducer",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 21480,
                                        "src": "8950:7:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_RadonReducer_$16460_memory_ptr",
                                          "typeString": "struct Witnet.RadonReducer memory"
                                        }
                                      },
                                      "id": 21503,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "8958:7:67",
                                      "memberName": "filters",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 16459,
                                      "src": "8950:15:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_struct$_RadonFilter_$16439_memory_ptr_$dyn_memory_ptr",
                                        "typeString": "struct Witnet.RadonFilter memory[] memory"
                                      }
                                    },
                                    "id": 21505,
                                    "indexExpression": {
                                      "id": 21504,
                                      "name": "ix",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 21486,
                                      "src": "8966:2:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "8950:19:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_RadonFilter_$16439_memory_ptr",
                                      "typeString": "struct Witnet.RadonFilter memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_struct$_RadonFilter_$16439_memory_ptr",
                                      "typeString": "struct Witnet.RadonFilter memory"
                                    }
                                  ],
                                  "id": 21501,
                                  "name": "encode",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    20981,
                                    20996,
                                    21014,
                                    21108,
                                    21381,
                                    21477,
                                    21524,
                                    21593,
                                    21613,
                                    21681
                                  ],
                                  "referencedDeclaration": 21593,
                                  "src": "8943:6:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_struct$_RadonFilter_$16439_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                    "typeString": "function (struct Witnet.RadonFilter memory) pure returns (bytes memory)"
                                  }
                                },
                                "id": 21506,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "8943:27:67",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                },
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              ],
                              "expression": {
                                "id": 21498,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967295,
                                "src": "8873:3:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 21499,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "8877:12:67",
                              "memberName": "encodePacked",
                              "nodeType": "MemberAccess",
                              "src": "8873:16:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function () pure returns (bytes memory)"
                              }
                            },
                            "id": 21507,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8873:116:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "src": "8862:127:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        },
                        "id": 21509,
                        "nodeType": "ExpressionStatement",
                        "src": "8862:127:67"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 21493,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 21489,
                      "name": "ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 21486,
                      "src": "8807:2:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 21490,
                          "name": "reducer",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21480,
                          "src": "8812:7:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RadonReducer_$16460_memory_ptr",
                            "typeString": "struct Witnet.RadonReducer memory"
                          }
                        },
                        "id": 21491,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "8820:7:67",
                        "memberName": "filters",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16459,
                        "src": "8812:15:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_RadonFilter_$16439_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct Witnet.RadonFilter memory[] memory"
                        }
                      },
                      "id": 21492,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8828:6:67",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "8812:22:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8807:27:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 21511,
                  "initializationExpression": {
                    "assignments": [
                      21486
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 21486,
                        "mutability": "mutable",
                        "name": "ix",
                        "nameLocation": "8799:2:67",
                        "nodeType": "VariableDeclaration",
                        "scope": 21511,
                        "src": "8794:7:67",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 21485,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "8794:4:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 21488,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 21487,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "8804:1:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "8794:11:67"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 21495,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "8836:5:67",
                      "subExpression": {
                        "id": 21494,
                        "name": "ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21486,
                        "src": "8836:2:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 21496,
                    "nodeType": "ExpressionStatement",
                    "src": "8836:5:67"
                  },
                  "nodeType": "ForStatement",
                  "src": "8789:216:67"
                },
                {
                  "expression": {
                    "id": 21521,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 21512,
                      "name": "bytecode",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 21483,
                      "src": "9019:8:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 21515,
                          "name": "bytecode",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21483,
                          "src": "9065:8:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        },
                        {
                          "arguments": [
                            {
                              "expression": {
                                "id": 21517,
                                "name": "reducer",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21480,
                                "src": "9099:7:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RadonReducer_$16460_memory_ptr",
                                  "typeString": "struct Witnet.RadonReducer memory"
                                }
                              },
                              "id": 21518,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "9107:6:67",
                              "memberName": "opcode",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16455,
                              "src": "9099:14:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                                "typeString": "enum Witnet.RadonReducerOpcodes"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                                "typeString": "enum Witnet.RadonReducerOpcodes"
                              }
                            ],
                            "id": 21516,
                            "name": "encode",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              20981,
                              20996,
                              21014,
                              21108,
                              21381,
                              21477,
                              21524,
                              21593,
                              21613,
                              21681
                            ],
                            "referencedDeclaration": 21613,
                            "src": "9092:6:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_enum$_RadonReducerOpcodes_$16474_$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function (enum Witnet.RadonReducerOpcodes) pure returns (bytes memory)"
                            }
                          },
                          "id": 21519,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "9092:22:67",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          },
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "expression": {
                          "id": 21513,
                          "name": "abi",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4294967295,
                          "src": "9030:3:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_abi",
                            "typeString": "abi"
                          }
                        },
                        "id": 21514,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "9034:12:67",
                        "memberName": "encodePacked",
                        "nodeType": "MemberAccess",
                        "src": "9030:16:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                          "typeString": "function () pure returns (bytes memory)"
                        }
                      },
                      "id": 21520,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "9030:99:67",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes memory"
                      }
                    },
                    "src": "9019:110:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "id": 21522,
                  "nodeType": "ExpressionStatement",
                  "src": "9019:110:67"
                }
              ]
            },
            "functionSelector": "1c02d22b",
            "id": 21524,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "encode",
            "nameLocation": "8618:6:67",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 21481,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21480,
                  "mutability": "mutable",
                  "name": "reducer",
                  "nameLocation": "8652:7:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21524,
                  "src": "8625:34:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonReducer_$16460_memory_ptr",
                    "typeString": "struct Witnet.RadonReducer"
                  },
                  "typeName": {
                    "id": 21479,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 21478,
                      "name": "Witnet.RadonReducer",
                      "nameLocations": [
                        "8625:6:67",
                        "8632:12:67"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16460,
                      "src": "8625:19:67"
                    },
                    "referencedDeclaration": 16460,
                    "src": "8625:19:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonReducer_$16460_storage_ptr",
                      "typeString": "struct Witnet.RadonReducer"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8624:36:67"
            },
            "returnParameters": {
              "id": 21484,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21483,
                  "mutability": "mutable",
                  "name": "bytecode",
                  "nameLocation": "8713:8:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21524,
                  "src": "8700:21:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 21482,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "8700:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8699:23:67"
            },
            "scope": 22450,
            "src": "8609:731:67",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 21592,
              "nodeType": "Block",
              "src": "9465:460:67",
              "statements": [
                {
                  "expression": {
                    "id": 21574,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 21532,
                      "name": "bytecode",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 21530,
                      "src": "9484:8:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "expression": {
                                    "id": 21538,
                                    "name": "filter",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 21527,
                                    "src": "9540:6:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_RadonFilter_$16439_memory_ptr",
                                      "typeString": "struct Witnet.RadonFilter memory"
                                    }
                                  },
                                  "id": 21539,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "9547:6:67",
                                  "memberName": "opcode",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 16436,
                                  "src": "9540:13:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_RadonFilterOpcodes_$16451",
                                    "typeString": "enum Witnet.RadonFilterOpcodes"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_enum$_RadonFilterOpcodes_$16451",
                                    "typeString": "enum Witnet.RadonFilterOpcodes"
                                  }
                                ],
                                "id": 21537,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "9533:6:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_uint64_$",
                                  "typeString": "type(uint64)"
                                },
                                "typeName": {
                                  "id": 21536,
                                  "name": "uint64",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "9533:6:67",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 21540,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "9533:21:67",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint64",
                                "typeString": "uint64"
                              }
                            },
                            {
                              "arguments": [
                                {
                                  "hexValue": "30783038",
                                  "id": 21543,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "9563:4:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_8_by_1",
                                    "typeString": "int_const 8"
                                  },
                                  "value": "0x08"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_8_by_1",
                                    "typeString": "int_const 8"
                                  }
                                ],
                                "id": 21542,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "9556:6:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_bytes1_$",
                                  "typeString": "type(bytes1)"
                                },
                                "typeName": {
                                  "id": 21541,
                                  "name": "bytes1",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "9556:6:67",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 21544,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "9556:12:67",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes1",
                                "typeString": "bytes1"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint64",
                                "typeString": "uint64"
                              },
                              {
                                "typeIdentifier": "t_bytes1",
                                "typeString": "bytes1"
                              }
                            ],
                            "id": 21535,
                            "name": "encode",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              20981,
                              20996,
                              21014,
                              21108,
                              21381,
                              21477,
                              21524,
                              21593,
                              21613,
                              21681
                            ],
                            "referencedDeclaration": 21108,
                            "src": "9526:6:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_bytes1_$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function (uint64,bytes1) pure returns (bytes memory)"
                            }
                          },
                          "id": 21545,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "9526:43:67",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        },
                        {
                          "condition": {
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 21550,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "expression": {
                                "expression": {
                                  "id": 21546,
                                  "name": "filter",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21527,
                                  "src": "9584:6:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RadonFilter_$16439_memory_ptr",
                                    "typeString": "struct Witnet.RadonFilter memory"
                                  }
                                },
                                "id": 21547,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "9591:4:67",
                                "memberName": "args",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16438,
                                "src": "9584:11:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              },
                              "id": 21548,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "9596:6:67",
                              "memberName": "length",
                              "nodeType": "MemberAccess",
                              "src": "9584:18:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": ">",
                            "rightExpression": {
                              "hexValue": "30",
                              "id": 21549,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "9605:1:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            "src": "9584:22:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseExpression": {
                            "arguments": [
                              {
                                "hexValue": "",
                                "id": 21570,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "9775:2:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                  "typeString": "literal_string \"\""
                                },
                                "value": ""
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                  "typeString": "literal_string \"\""
                                }
                              ],
                              "id": 21569,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "9769:5:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                "typeString": "type(bytes storage pointer)"
                              },
                              "typeName": {
                                "id": 21568,
                                "name": "bytes",
                                "nodeType": "ElementaryTypeName",
                                "src": "9769:5:67",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21571,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "9769:9:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "id": 21572,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "Conditional",
                          "src": "9584:194:67",
                          "trueExpression": {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "expression": {
                                          "expression": {
                                            "id": 21556,
                                            "name": "filter",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 21527,
                                            "src": "9679:6:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_RadonFilter_$16439_memory_ptr",
                                              "typeString": "struct Witnet.RadonFilter memory"
                                            }
                                          },
                                          "id": 21557,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "9686:4:67",
                                          "memberName": "args",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 16438,
                                          "src": "9679:11:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_memory_ptr",
                                            "typeString": "bytes memory"
                                          }
                                        },
                                        "id": 21558,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "9691:6:67",
                                        "memberName": "length",
                                        "nodeType": "MemberAccess",
                                        "src": "9679:18:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "id": 21555,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "9672:6:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint64_$",
                                        "typeString": "type(uint64)"
                                      },
                                      "typeName": {
                                        "id": 21554,
                                        "name": "uint64",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9672:6:67",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 21559,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "9672:26:67",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    }
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "hexValue": "30783132",
                                        "id": 21562,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "9707:4:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_rational_18_by_1",
                                          "typeString": "int_const 18"
                                        },
                                        "value": "0x12"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_rational_18_by_1",
                                          "typeString": "int_const 18"
                                        }
                                      ],
                                      "id": 21561,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "9700:6:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_bytes1_$",
                                        "typeString": "type(bytes1)"
                                      },
                                      "typeName": {
                                        "id": 21560,
                                        "name": "bytes1",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9700:6:67",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 21563,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "9700:12:67",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes1",
                                      "typeString": "bytes1"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint64",
                                      "typeString": "uint64"
                                    },
                                    {
                                      "typeIdentifier": "t_bytes1",
                                      "typeString": "bytes1"
                                    }
                                  ],
                                  "id": 21553,
                                  "name": "encode",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    20981,
                                    20996,
                                    21014,
                                    21108,
                                    21381,
                                    21477,
                                    21524,
                                    21593,
                                    21613,
                                    21681
                                  ],
                                  "referencedDeclaration": 21108,
                                  "src": "9665:6:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_bytes1_$returns$_t_bytes_memory_ptr_$",
                                    "typeString": "function (uint64,bytes1) pure returns (bytes memory)"
                                  }
                                },
                                "id": 21564,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "9665:48:67",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              },
                              {
                                "expression": {
                                  "id": 21565,
                                  "name": "filter",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21527,
                                  "src": "9736:6:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RadonFilter_$16439_memory_ptr",
                                    "typeString": "struct Witnet.RadonFilter memory"
                                  }
                                },
                                "id": 21566,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "9743:4:67",
                                "memberName": "args",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16438,
                                "src": "9736:11:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                },
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              ],
                              "expression": {
                                "id": 21551,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967295,
                                "src": "9626:3:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 21552,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "9630:12:67",
                              "memberName": "encodePacked",
                              "nodeType": "MemberAccess",
                              "src": "9626:16:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function () pure returns (bytes memory)"
                              }
                            },
                            "id": 21567,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "9626:140:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          },
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "expression": {
                          "id": 21533,
                          "name": "abi",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4294967295,
                          "src": "9495:3:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_abi",
                            "typeString": "abi"
                          }
                        },
                        "id": 21534,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "9499:12:67",
                        "memberName": "encodePacked",
                        "nodeType": "MemberAccess",
                        "src": "9495:16:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                          "typeString": "function () pure returns (bytes memory)"
                        }
                      },
                      "id": 21573,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "9495:294:67",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes memory"
                      }
                    },
                    "src": "9484:305:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "id": 21575,
                  "nodeType": "ExpressionStatement",
                  "src": "9484:305:67"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 21581,
                                  "name": "bytecode",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21530,
                                  "src": "9852:8:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                },
                                "id": 21582,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "9861:6:67",
                                "memberName": "length",
                                "nodeType": "MemberAccess",
                                "src": "9852:15:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 21580,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "9845:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint64_$",
                                "typeString": "type(uint64)"
                              },
                              "typeName": {
                                "id": 21579,
                                "name": "uint64",
                                "nodeType": "ElementaryTypeName",
                                "src": "9845:6:67",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21583,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "9845:23:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          },
                          {
                            "arguments": [
                              {
                                "hexValue": "30783061",
                                "id": 21586,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "9877:4:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_10_by_1",
                                  "typeString": "int_const 10"
                                },
                                "value": "0x0a"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_10_by_1",
                                  "typeString": "int_const 10"
                                }
                              ],
                              "id": 21585,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "9870:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes1_$",
                                "typeString": "type(bytes1)"
                              },
                              "typeName": {
                                "id": 21584,
                                "name": "bytes1",
                                "nodeType": "ElementaryTypeName",
                                "src": "9870:6:67",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21587,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "9870:12:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            },
                            {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          ],
                          "id": 21578,
                          "name": "encode",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [
                            20981,
                            20996,
                            21014,
                            21108,
                            21381,
                            21477,
                            21524,
                            21593,
                            21613,
                            21681
                          ],
                          "referencedDeclaration": 21108,
                          "src": "9838:6:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_bytes1_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (uint64,bytes1) pure returns (bytes memory)"
                          }
                        },
                        "id": 21588,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "9838:45:67",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "id": 21589,
                        "name": "bytecode",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21530,
                        "src": "9898:8:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "id": 21576,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967295,
                        "src": "9807:3:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 21577,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "9811:12:67",
                      "memberName": "encodePacked",
                      "nodeType": "MemberAccess",
                      "src": "9807:16:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function () pure returns (bytes memory)"
                      }
                    },
                    "id": 21590,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9807:110:67",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "functionReturnParameters": 21531,
                  "id": 21591,
                  "nodeType": "Return",
                  "src": "9800:117:67"
                }
              ]
            },
            "functionSelector": "c5f3674a",
            "id": 21593,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "encode",
            "nameLocation": "9357:6:67",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 21528,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21527,
                  "mutability": "mutable",
                  "name": "filter",
                  "nameLocation": "9390:6:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21593,
                  "src": "9364:32:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonFilter_$16439_memory_ptr",
                    "typeString": "struct Witnet.RadonFilter"
                  },
                  "typeName": {
                    "id": 21526,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 21525,
                      "name": "Witnet.RadonFilter",
                      "nameLocations": [
                        "9364:6:67",
                        "9371:11:67"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16439,
                      "src": "9364:18:67"
                    },
                    "referencedDeclaration": 16439,
                    "src": "9364:18:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonFilter_$16439_storage_ptr",
                      "typeString": "struct Witnet.RadonFilter"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9363:34:67"
            },
            "returnParameters": {
              "id": 21531,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21530,
                  "mutability": "mutable",
                  "name": "bytecode",
                  "nameLocation": "9450:8:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21593,
                  "src": "9437:21:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 21529,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "9437:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9436:23:67"
            },
            "scope": 22450,
            "src": "9348:577:67",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 21612,
              "nodeType": "Block",
              "src": "10042:72:67",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 21604,
                            "name": "opcode",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21596,
                            "src": "10084:6:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                              "typeString": "enum Witnet.RadonReducerOpcodes"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                              "typeString": "enum Witnet.RadonReducerOpcodes"
                            }
                          ],
                          "id": 21603,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "10077:6:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_uint64_$",
                            "typeString": "type(uint64)"
                          },
                          "typeName": {
                            "id": 21602,
                            "name": "uint64",
                            "nodeType": "ElementaryTypeName",
                            "src": "10077:6:67",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 21605,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10077:14:67",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "hexValue": "30783130",
                            "id": 21608,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "10100:4:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_16_by_1",
                              "typeString": "int_const 16"
                            },
                            "value": "0x10"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_16_by_1",
                              "typeString": "int_const 16"
                            }
                          ],
                          "id": 21607,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "10093:6:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_bytes1_$",
                            "typeString": "type(bytes1)"
                          },
                          "typeName": {
                            "id": 21606,
                            "name": "bytes1",
                            "nodeType": "ElementaryTypeName",
                            "src": "10093:6:67",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 21609,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10093:12:67",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes1",
                          "typeString": "bytes1"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        {
                          "typeIdentifier": "t_bytes1",
                          "typeString": "bytes1"
                        }
                      ],
                      "id": 21601,
                      "name": "encode",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        20981,
                        20996,
                        21014,
                        21108,
                        21381,
                        21477,
                        21524,
                        21593,
                        21613,
                        21681
                      ],
                      "referencedDeclaration": 21108,
                      "src": "10070:6:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_bytes1_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (uint64,bytes1) pure returns (bytes memory)"
                      }
                    },
                    "id": 21610,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10070:36:67",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "functionReturnParameters": 21600,
                  "id": 21611,
                  "nodeType": "Return",
                  "src": "10063:43:67"
                }
              ]
            },
            "functionSelector": "203003b1",
            "id": 21613,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "encode",
            "nameLocation": "9942:6:67",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 21597,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21596,
                  "mutability": "mutable",
                  "name": "opcode",
                  "nameLocation": "9976:6:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21613,
                  "src": "9949:33:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                    "typeString": "enum Witnet.RadonReducerOpcodes"
                  },
                  "typeName": {
                    "id": 21595,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 21594,
                      "name": "Witnet.RadonReducerOpcodes",
                      "nameLocations": [
                        "9949:6:67",
                        "9956:19:67"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16474,
                      "src": "9949:26:67"
                    },
                    "referencedDeclaration": 16474,
                    "src": "9949:26:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                      "typeString": "enum Witnet.RadonReducerOpcodes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9948:35:67"
            },
            "returnParameters": {
              "id": 21600,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21599,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 21613,
                  "src": "10023:12:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 21598,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "10023:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10022:14:67"
            },
            "scope": 22450,
            "src": "9933:181:67",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 21680,
              "nodeType": "Block",
              "src": "10224:382:67",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 21626,
                                  "name": "sla",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21616,
                                  "src": "10287:3:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RadonSLA_$16519_memory_ptr",
                                    "typeString": "struct Witnet.RadonSLA memory"
                                  }
                                },
                                "id": 21627,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "10291:13:67",
                                "memberName": "witnessReward",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16514,
                                "src": "10287:17:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              ],
                              "id": 21625,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "10280:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint64_$",
                                "typeString": "type(uint64)"
                              },
                              "typeName": {
                                "id": 21624,
                                "name": "uint64",
                                "nodeType": "ElementaryTypeName",
                                "src": "10280:6:67",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21628,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10280:25:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          },
                          {
                            "arguments": [
                              {
                                "hexValue": "30783130",
                                "id": 21631,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "10314:4:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_16_by_1",
                                  "typeString": "int_const 16"
                                },
                                "value": "0x10"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_16_by_1",
                                  "typeString": "int_const 16"
                                }
                              ],
                              "id": 21630,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "10307:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes1_$",
                                "typeString": "type(bytes1)"
                              },
                              "typeName": {
                                "id": 21629,
                                "name": "bytes1",
                                "nodeType": "ElementaryTypeName",
                                "src": "10307:6:67",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21632,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10307:12:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            },
                            {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          ],
                          "id": 21623,
                          "name": "encode",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [
                            20981,
                            20996,
                            21014,
                            21108,
                            21381,
                            21477,
                            21524,
                            21593,
                            21613,
                            21681
                          ],
                          "referencedDeclaration": 21108,
                          "src": "10273:6:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_bytes1_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (uint64,bytes1) pure returns (bytes memory)"
                          }
                        },
                        "id": 21633,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10273:47:67",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 21637,
                                  "name": "sla",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21616,
                                  "src": "10349:3:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RadonSLA_$16519_memory_ptr",
                                    "typeString": "struct Witnet.RadonSLA memory"
                                  }
                                },
                                "id": 21638,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "10353:12:67",
                                "memberName": "numWitnesses",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16510,
                                "src": "10349:16:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint8",
                                  "typeString": "uint8"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint8",
                                  "typeString": "uint8"
                                }
                              ],
                              "id": 21636,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "10342:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint64_$",
                                "typeString": "type(uint64)"
                              },
                              "typeName": {
                                "id": 21635,
                                "name": "uint64",
                                "nodeType": "ElementaryTypeName",
                                "src": "10342:6:67",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21639,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10342:24:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          },
                          {
                            "arguments": [
                              {
                                "hexValue": "30783138",
                                "id": 21642,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "10375:4:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_24_by_1",
                                  "typeString": "int_const 24"
                                },
                                "value": "0x18"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_24_by_1",
                                  "typeString": "int_const 24"
                                }
                              ],
                              "id": 21641,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "10368:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes1_$",
                                "typeString": "type(bytes1)"
                              },
                              "typeName": {
                                "id": 21640,
                                "name": "bytes1",
                                "nodeType": "ElementaryTypeName",
                                "src": "10368:6:67",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21643,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10368:12:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            },
                            {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          ],
                          "id": 21634,
                          "name": "encode",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [
                            20981,
                            20996,
                            21014,
                            21108,
                            21381,
                            21477,
                            21524,
                            21593,
                            21613,
                            21681
                          ],
                          "referencedDeclaration": 21108,
                          "src": "10335:6:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_bytes1_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (uint64,bytes1) pure returns (bytes memory)"
                          }
                        },
                        "id": 21644,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10335:46:67",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 21648,
                                  "name": "sla",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21616,
                                  "src": "10410:3:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RadonSLA_$16519_memory_ptr",
                                    "typeString": "struct Witnet.RadonSLA memory"
                                  }
                                },
                                "id": 21649,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "10414:20:67",
                                "memberName": "minerCommitRevealFee",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16518,
                                "src": "10410:24:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              ],
                              "id": 21647,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "10403:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint64_$",
                                "typeString": "type(uint64)"
                              },
                              "typeName": {
                                "id": 21646,
                                "name": "uint64",
                                "nodeType": "ElementaryTypeName",
                                "src": "10403:6:67",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21650,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10403:32:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          },
                          {
                            "arguments": [
                              {
                                "hexValue": "30783230",
                                "id": 21653,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "10444:4:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_32_by_1",
                                  "typeString": "int_const 32"
                                },
                                "value": "0x20"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_32_by_1",
                                  "typeString": "int_const 32"
                                }
                              ],
                              "id": 21652,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "10437:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes1_$",
                                "typeString": "type(bytes1)"
                              },
                              "typeName": {
                                "id": 21651,
                                "name": "bytes1",
                                "nodeType": "ElementaryTypeName",
                                "src": "10437:6:67",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21654,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10437:12:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            },
                            {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          ],
                          "id": 21645,
                          "name": "encode",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [
                            20981,
                            20996,
                            21014,
                            21108,
                            21381,
                            21477,
                            21524,
                            21593,
                            21613,
                            21681
                          ],
                          "referencedDeclaration": 21108,
                          "src": "10396:6:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_bytes1_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (uint64,bytes1) pure returns (bytes memory)"
                          }
                        },
                        "id": 21655,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10396:54:67",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 21659,
                                  "name": "sla",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21616,
                                  "src": "10479:3:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RadonSLA_$16519_memory_ptr",
                                    "typeString": "struct Witnet.RadonSLA memory"
                                  }
                                },
                                "id": 21660,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "10483:22:67",
                                "memberName": "minConsensusPercentage",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16512,
                                "src": "10479:26:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint8",
                                  "typeString": "uint8"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint8",
                                  "typeString": "uint8"
                                }
                              ],
                              "id": 21658,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "10472:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint64_$",
                                "typeString": "type(uint64)"
                              },
                              "typeName": {
                                "id": 21657,
                                "name": "uint64",
                                "nodeType": "ElementaryTypeName",
                                "src": "10472:6:67",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21661,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10472:34:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          },
                          {
                            "arguments": [
                              {
                                "hexValue": "30783238",
                                "id": 21664,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "10515:4:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_40_by_1",
                                  "typeString": "int_const 40"
                                },
                                "value": "0x28"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_40_by_1",
                                  "typeString": "int_const 40"
                                }
                              ],
                              "id": 21663,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "10508:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes1_$",
                                "typeString": "type(bytes1)"
                              },
                              "typeName": {
                                "id": 21662,
                                "name": "bytes1",
                                "nodeType": "ElementaryTypeName",
                                "src": "10508:6:67",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21665,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10508:12:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            },
                            {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          ],
                          "id": 21656,
                          "name": "encode",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [
                            20981,
                            20996,
                            21014,
                            21108,
                            21381,
                            21477,
                            21524,
                            21593,
                            21613,
                            21681
                          ],
                          "referencedDeclaration": 21108,
                          "src": "10465:6:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_bytes1_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (uint64,bytes1) pure returns (bytes memory)"
                          }
                        },
                        "id": 21666,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10465:56:67",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 21670,
                                  "name": "sla",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21616,
                                  "src": "10550:3:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RadonSLA_$16519_memory_ptr",
                                    "typeString": "struct Witnet.RadonSLA memory"
                                  }
                                },
                                "id": 21671,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "10554:17:67",
                                "memberName": "witnessCollateral",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16516,
                                "src": "10550:21:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint64",
                                  "typeString": "uint64"
                                }
                              ],
                              "id": 21669,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "10543:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint64_$",
                                "typeString": "type(uint64)"
                              },
                              "typeName": {
                                "id": 21668,
                                "name": "uint64",
                                "nodeType": "ElementaryTypeName",
                                "src": "10543:6:67",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21672,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10543:29:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            }
                          },
                          {
                            "arguments": [
                              {
                                "hexValue": "30783330",
                                "id": 21675,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "10581:4:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_48_by_1",
                                  "typeString": "int_const 48"
                                },
                                "value": "0x30"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_48_by_1",
                                  "typeString": "int_const 48"
                                }
                              ],
                              "id": 21674,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "10574:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes1_$",
                                "typeString": "type(bytes1)"
                              },
                              "typeName": {
                                "id": 21673,
                                "name": "bytes1",
                                "nodeType": "ElementaryTypeName",
                                "src": "10574:6:67",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 21676,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10574:12:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint64",
                              "typeString": "uint64"
                            },
                            {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          ],
                          "id": 21667,
                          "name": "encode",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [
                            20981,
                            20996,
                            21014,
                            21108,
                            21381,
                            21477,
                            21524,
                            21593,
                            21613,
                            21681
                          ],
                          "referencedDeclaration": 21108,
                          "src": "10536:6:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint64_$_t_bytes1_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (uint64,bytes1) pure returns (bytes memory)"
                          }
                        },
                        "id": 21677,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "10536:51:67",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "id": 21621,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967295,
                        "src": "10242:3:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 21622,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "10246:12:67",
                      "memberName": "encodePacked",
                      "nodeType": "MemberAccess",
                      "src": "10242:16:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function () pure returns (bytes memory)"
                      }
                    },
                    "id": 21678,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10242:356:67",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "functionReturnParameters": 21620,
                  "id": 21679,
                  "nodeType": "Return",
                  "src": "10235:363:67"
                }
              ]
            },
            "functionSelector": "2d81a542",
            "id": 21681,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "encode",
            "nameLocation": "10131:6:67",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 21617,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21616,
                  "mutability": "mutable",
                  "name": "sla",
                  "nameLocation": "10161:3:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21681,
                  "src": "10138:26:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonSLA_$16519_memory_ptr",
                    "typeString": "struct Witnet.RadonSLA"
                  },
                  "typeName": {
                    "id": 21615,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 21614,
                      "name": "Witnet.RadonSLA",
                      "nameLocations": [
                        "10138:6:67",
                        "10145:8:67"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16519,
                      "src": "10138:15:67"
                    },
                    "referencedDeclaration": 16519,
                    "src": "10138:15:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLA_$16519_storage_ptr",
                      "typeString": "struct Witnet.RadonSLA"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10137:28:67"
            },
            "returnParameters": {
              "id": 21620,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21619,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 21681,
                  "src": "10205:12:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 21618,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "10205:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10204:14:67"
            },
            "scope": 22450,
            "src": "10122:484:67",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 21738,
              "nodeType": "Block",
              "src": "10787:392:67",
              "statements": [
                {
                  "assignments": [
                    21695
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 21695,
                      "mutability": "mutable",
                      "name": "cbor",
                      "nameLocation": "10821:4:67",
                      "nodeType": "VariableDeclaration",
                      "scope": 21738,
                      "src": "10798:27:67",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                        "typeString": "struct WitnetCBOR.CBOR"
                      },
                      "typeName": {
                        "id": 21694,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 21693,
                          "name": "WitnetCBOR.CBOR",
                          "nameLocations": [
                            "10798:10:67",
                            "10809:4:67"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 19218,
                          "src": "10798:15:67"
                        },
                        "referencedDeclaration": 19218,
                        "src": "10798:15:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_CBOR_$19218_storage_ptr",
                          "typeString": "struct WitnetCBOR.CBOR"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 21700,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 21698,
                        "name": "data",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21683,
                        "src": "10849:4:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "id": 21696,
                        "name": "WitnetCBOR",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20734,
                        "src": "10828:10:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitnetCBOR_$20734_$",
                          "typeString": "type(library WitnetCBOR)"
                        }
                      },
                      "id": 21697,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "10839:9:67",
                      "memberName": "fromBytes",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 19359,
                      "src": "10828:20:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_struct$_CBOR_$19218_memory_ptr_$",
                        "typeString": "function (bytes memory) pure returns (struct WitnetCBOR.CBOR memory)"
                      }
                    },
                    "id": 21699,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10828:26:67",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                      "typeString": "struct WitnetCBOR.CBOR memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10798:56:67"
                },
                {
                  "body": {
                    "id": 21732,
                    "nodeType": "Block",
                    "src": "10885:253:67",
                    "statements": [
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          },
                          "id": 21709,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "id": 21705,
                              "name": "cbor",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21695,
                              "src": "10904:4:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                "typeString": "struct WitnetCBOR.CBOR memory"
                              }
                            },
                            "id": 21706,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "10909:9:67",
                            "memberName": "majorType",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 19211,
                            "src": "10904:14:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "expression": {
                              "id": 21707,
                              "name": "WitnetCBOR",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20734,
                              "src": "10922:10:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_WitnetCBOR_$20734_$",
                                "typeString": "type(library WitnetCBOR)"
                              }
                            },
                            "id": 21708,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "10933:17:67",
                            "memberName": "MAJOR_TYPE_STRING",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 19230,
                            "src": "10922:28:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            }
                          },
                          "src": "10904:46:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 21730,
                          "nodeType": "Block",
                          "src": "11065:62:67",
                          "statements": [
                            {
                              "expression": {
                                "id": 21728,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 21722,
                                  "name": "cbor",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21695,
                                  "src": "11084:4:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                    "typeString": "struct WitnetCBOR.CBOR memory"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "expression": {
                                      "arguments": [],
                                      "expression": {
                                        "argumentTypes": [],
                                        "expression": {
                                          "id": 21723,
                                          "name": "cbor",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 21695,
                                          "src": "11091:4:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                            "typeString": "struct WitnetCBOR.CBOR memory"
                                          }
                                        },
                                        "id": 21724,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "11096:4:67",
                                        "memberName": "skip",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 19639,
                                        "src": "11091:9:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$returns$_t_struct$_CBOR_$19218_memory_ptr_$attached_to$_t_struct$_CBOR_$19218_memory_ptr_$",
                                          "typeString": "function (struct WitnetCBOR.CBOR memory) pure returns (struct WitnetCBOR.CBOR memory)"
                                        }
                                      },
                                      "id": 21725,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "11091:11:67",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                        "typeString": "struct WitnetCBOR.CBOR memory"
                                      }
                                    },
                                    "id": 21726,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "11103:6:67",
                                    "memberName": "settle",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 19519,
                                    "src": "11091:18:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$returns$_t_struct$_CBOR_$19218_memory_ptr_$attached_to$_t_struct$_CBOR_$19218_memory_ptr_$",
                                      "typeString": "function (struct WitnetCBOR.CBOR memory) pure returns (struct WitnetCBOR.CBOR memory)"
                                    }
                                  },
                                  "id": 21727,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "11091:20:67",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                    "typeString": "struct WitnetCBOR.CBOR memory"
                                  }
                                },
                                "src": "11084:27:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                  "typeString": "struct WitnetCBOR.CBOR memory"
                                }
                              },
                              "id": 21729,
                              "nodeType": "ExpressionStatement",
                              "src": "11084:27:67"
                            }
                          ]
                        },
                        "id": 21731,
                        "nodeType": "IfStatement",
                        "src": "10900:227:67",
                        "trueBody": {
                          "id": 21721,
                          "nodeType": "Block",
                          "src": "10952:107:67",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "id": 21711,
                                    "name": "cbor",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 21695,
                                    "src": "10993:4:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                      "typeString": "struct WitnetCBOR.CBOR memory"
                                    }
                                  },
                                  {
                                    "id": 21712,
                                    "name": "args",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 21686,
                                    "src": "10999:4:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                                      "typeString": "string memory[] memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                      "typeString": "struct WitnetCBOR.CBOR memory"
                                    },
                                    {
                                      "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                                      "typeString": "string memory[] memory"
                                    }
                                  ],
                                  "id": 21710,
                                  "name": "_replaceCborWildcards",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 22318,
                                  "src": "10971:21:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$__$",
                                    "typeString": "function (struct WitnetCBOR.CBOR memory,string memory[] memory) pure"
                                  }
                                },
                                "id": 21713,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "10971:33:67",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 21714,
                              "nodeType": "ExpressionStatement",
                              "src": "10971:33:67"
                            },
                            {
                              "expression": {
                                "id": 21719,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 21715,
                                  "name": "cbor",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21695,
                                  "src": "11023:4:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                    "typeString": "struct WitnetCBOR.CBOR memory"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "expression": {
                                      "id": 21716,
                                      "name": "cbor",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 21695,
                                      "src": "11030:4:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                        "typeString": "struct WitnetCBOR.CBOR memory"
                                      }
                                    },
                                    "id": 21717,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "11035:6:67",
                                    "memberName": "settle",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 19519,
                                    "src": "11030:11:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$returns$_t_struct$_CBOR_$19218_memory_ptr_$attached_to$_t_struct$_CBOR_$19218_memory_ptr_$",
                                      "typeString": "function (struct WitnetCBOR.CBOR memory) pure returns (struct WitnetCBOR.CBOR memory)"
                                    }
                                  },
                                  "id": 21718,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "11030:13:67",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                    "typeString": "struct WitnetCBOR.CBOR memory"
                                  }
                                },
                                "src": "11023:20:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                  "typeString": "struct WitnetCBOR.CBOR memory"
                                }
                              },
                              "id": 21720,
                              "nodeType": "ExpressionStatement",
                              "src": "11023:20:67"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "id": 21704,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "!",
                    "prefix": true,
                    "src": "10872:11:67",
                    "subExpression": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "id": 21701,
                          "name": "cbor",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21695,
                          "src": "10873:4:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                            "typeString": "struct WitnetCBOR.CBOR memory"
                          }
                        },
                        "id": 21702,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "10878:3:67",
                        "memberName": "eof",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 19334,
                        "src": "10873:8:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$returns$_t_bool_$attached_to$_t_struct$_CBOR_$19218_memory_ptr_$",
                          "typeString": "function (struct WitnetCBOR.CBOR memory) pure returns (bool)"
                        }
                      },
                      "id": 21703,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "10873:10:67",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 21733,
                  "nodeType": "WhileStatement",
                  "src": "10865:273:67"
                },
                {
                  "expression": {
                    "expression": {
                      "expression": {
                        "id": 21734,
                        "name": "cbor",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21695,
                        "src": "11155:4:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                          "typeString": "struct WitnetCBOR.CBOR memory"
                        }
                      },
                      "id": 21735,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "11160:6:67",
                      "memberName": "buffer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 19207,
                      "src": "11155:11:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Buffer_$17580_memory_ptr",
                        "typeString": "struct WitnetBuffer.Buffer memory"
                      }
                    },
                    "id": 21736,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "11167:4:67",
                    "memberName": "data",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 17577,
                    "src": "11155:16:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "functionReturnParameters": 21690,
                  "id": 21737,
                  "nodeType": "Return",
                  "src": "11148:23:67"
                }
              ]
            },
            "functionSelector": "dfaecd11",
            "id": 21739,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "replaceCborStringsFromBytes",
            "nameLocation": "10623:27:67",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 21687,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21683,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "10678:4:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21739,
                  "src": "10665:17:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 21682,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "10665:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21686,
                  "mutability": "mutable",
                  "name": "args",
                  "nameLocation": "10713:4:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21739,
                  "src": "10697:20:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                    "typeString": "string[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 21684,
                      "name": "string",
                      "nodeType": "ElementaryTypeName",
                      "src": "10697:6:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage_ptr",
                        "typeString": "string"
                      }
                    },
                    "id": 21685,
                    "nodeType": "ArrayTypeName",
                    "src": "10697:8:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                      "typeString": "string[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10650:78:67"
            },
            "returnParameters": {
              "id": 21690,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21689,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 21739,
                  "src": "10768:12:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 21688,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "10768:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10767:14:67"
            },
            "scope": 22450,
            "src": "10614:565:67",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 21813,
              "nodeType": "Block",
              "src": "11296:360:67",
              "statements": [
                {
                  "expression": {
                    "id": 21757,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 21748,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21742,
                        "src": "11307:4:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                          "typeString": "struct Witnet.RadonRetrieval memory"
                        }
                      },
                      "id": 21750,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "11312:3:67",
                      "memberName": "url",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 16485,
                      "src": "11307:8:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 21753,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21742,
                            "src": "11339:4:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                              "typeString": "struct Witnet.RadonRetrieval memory"
                            }
                          },
                          "id": 21754,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "11344:3:67",
                          "memberName": "url",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 16485,
                          "src": "11339:8:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "id": 21755,
                          "name": "args",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21745,
                          "src": "11349:4:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                            "typeString": "string memory[] memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                            "typeString": "string memory[] memory"
                          }
                        ],
                        "expression": {
                          "id": 21751,
                          "name": "WitnetBuffer",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 19191,
                          "src": "11318:12:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitnetBuffer_$19191_$",
                            "typeString": "type(library WitnetBuffer)"
                          }
                        },
                        "id": 21752,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "11331:7:67",
                        "memberName": "replace",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 19089,
                        "src": "11318:20:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$",
                          "typeString": "function (string memory,string memory[] memory) pure returns (string memory)"
                        }
                      },
                      "id": 21756,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "11318:36:67",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "11307:47:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "id": 21758,
                  "nodeType": "ExpressionStatement",
                  "src": "11307:47:67"
                },
                {
                  "expression": {
                    "id": 21768,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 21759,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21742,
                        "src": "11365:4:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                          "typeString": "struct Witnet.RadonRetrieval memory"
                        }
                      },
                      "id": 21761,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "11370:4:67",
                      "memberName": "body",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 16487,
                      "src": "11365:9:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 21764,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21742,
                            "src": "11398:4:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                              "typeString": "struct Witnet.RadonRetrieval memory"
                            }
                          },
                          "id": 21765,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "11403:4:67",
                          "memberName": "body",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 16487,
                          "src": "11398:9:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "id": 21766,
                          "name": "args",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21745,
                          "src": "11409:4:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                            "typeString": "string memory[] memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                            "typeString": "string memory[] memory"
                          }
                        ],
                        "expression": {
                          "id": 21762,
                          "name": "WitnetBuffer",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 19191,
                          "src": "11377:12:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitnetBuffer_$19191_$",
                            "typeString": "type(library WitnetBuffer)"
                          }
                        },
                        "id": 21763,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "11390:7:67",
                        "memberName": "replace",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 19089,
                        "src": "11377:20:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$",
                          "typeString": "function (string memory,string memory[] memory) pure returns (string memory)"
                        }
                      },
                      "id": 21767,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "11377:37:67",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "11365:49:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "id": 21769,
                  "nodeType": "ExpressionStatement",
                  "src": "11365:49:67"
                },
                {
                  "expression": {
                    "id": 21778,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 21770,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21742,
                        "src": "11425:4:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                          "typeString": "struct Witnet.RadonRetrieval memory"
                        }
                      },
                      "id": 21772,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "11430:6:67",
                      "memberName": "script",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 16494,
                      "src": "11425:11:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 21774,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21742,
                            "src": "11467:4:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                              "typeString": "struct Witnet.RadonRetrieval memory"
                            }
                          },
                          "id": 21775,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "11472:6:67",
                          "memberName": "script",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 16494,
                          "src": "11467:11:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        },
                        {
                          "id": 21776,
                          "name": "args",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21745,
                          "src": "11480:4:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                            "typeString": "string memory[] memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          },
                          {
                            "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                            "typeString": "string memory[] memory"
                          }
                        ],
                        "id": 21773,
                        "name": "replaceCborStringsFromBytes",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21739,
                        "src": "11439:27:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                          "typeString": "function (bytes memory,string memory[] memory) pure returns (bytes memory)"
                        }
                      },
                      "id": 21777,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "11439:46:67",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes memory"
                      }
                    },
                    "src": "11425:60:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "id": 21779,
                  "nodeType": "ExpressionStatement",
                  "src": "11425:60:67"
                },
                {
                  "body": {
                    "id": 21811,
                    "nodeType": "Block",
                    "src": "11551:98:67",
                    "statements": [
                      {
                        "expression": {
                          "id": 21809,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "baseExpression": {
                                "expression": {
                                  "id": 21792,
                                  "name": "self",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21742,
                                  "src": "11566:4:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                                    "typeString": "struct Witnet.RadonRetrieval memory"
                                  }
                                },
                                "id": 21796,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11571:7:67",
                                "memberName": "headers",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16492,
                                "src": "11566:12:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "string memory[2] memory[] memory"
                                }
                              },
                              "id": 21797,
                              "indexExpression": {
                                "id": 21794,
                                "name": "_ix",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21781,
                                "src": "11579:3:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "11566:17:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr",
                                "typeString": "string memory[2] memory"
                              }
                            },
                            "id": 21798,
                            "indexExpression": {
                              "hexValue": "31",
                              "id": 21795,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "11584:1:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "11566:20:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "baseExpression": {
                                  "baseExpression": {
                                    "expression": {
                                      "id": 21801,
                                      "name": "self",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 21742,
                                      "src": "11610:4:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                                        "typeString": "struct Witnet.RadonRetrieval memory"
                                      }
                                    },
                                    "id": 21802,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "11615:7:67",
                                    "memberName": "headers",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 16492,
                                    "src": "11610:12:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr",
                                      "typeString": "string memory[2] memory[] memory"
                                    }
                                  },
                                  "id": 21804,
                                  "indexExpression": {
                                    "id": 21803,
                                    "name": "_ix",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 21781,
                                    "src": "11623:3:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "11610:17:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr",
                                    "typeString": "string memory[2] memory"
                                  }
                                },
                                "id": 21806,
                                "indexExpression": {
                                  "hexValue": "31",
                                  "id": 21805,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "11628:1:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_1_by_1",
                                    "typeString": "int_const 1"
                                  },
                                  "value": "1"
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "11610:20:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "id": 21807,
                                "name": "args",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 21745,
                                "src": "11632:4:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "string memory[] memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "string memory[] memory"
                                }
                              ],
                              "expression": {
                                "id": 21799,
                                "name": "WitnetBuffer",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19191,
                                "src": "11589:12:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_WitnetBuffer_$19191_$",
                                  "typeString": "type(library WitnetBuffer)"
                                }
                              },
                              "id": 21800,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "11602:7:67",
                              "memberName": "replace",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 19089,
                              "src": "11589:20:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (string memory,string memory[] memory) pure returns (string memory)"
                              }
                            },
                            "id": 21808,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "11589:48:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "src": "11566:71:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "id": 21810,
                        "nodeType": "ExpressionStatement",
                        "src": "11566:71:67"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 21788,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 21784,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 21781,
                      "src": "11516:3:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 21785,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21742,
                          "src": "11522:4:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                            "typeString": "struct Witnet.RadonRetrieval memory"
                          }
                        },
                        "id": 21786,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "11527:7:67",
                        "memberName": "headers",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16492,
                        "src": "11522:12:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr",
                          "typeString": "string memory[2] memory[] memory"
                        }
                      },
                      "id": 21787,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "11535:6:67",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "11522:19:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "11516:25:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 21812,
                  "initializationExpression": {
                    "assignments": [
                      21781
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 21781,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "11506:3:67",
                        "nodeType": "VariableDeclaration",
                        "scope": 21812,
                        "src": "11501:8:67",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 21780,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "11501:4:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 21783,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 21782,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "11512:1:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "11501:12:67"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 21790,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "11543:6:67",
                      "subExpression": {
                        "id": 21789,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21781,
                        "src": "11543:3:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 21791,
                    "nodeType": "ExpressionStatement",
                    "src": "11543:6:67"
                  },
                  "nodeType": "ForStatement",
                  "src": "11496:153:67"
                }
              ]
            },
            "functionSelector": "3b1e539b",
            "id": 21814,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "replaceWildcards",
            "nameLocation": "11196:16:67",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 21746,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21742,
                  "mutability": "mutable",
                  "name": "self",
                  "nameLocation": "11242:4:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21814,
                  "src": "11213:33:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonRetrieval_$16495_memory_ptr",
                    "typeString": "struct Witnet.RadonRetrieval"
                  },
                  "typeName": {
                    "id": 21741,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 21740,
                      "name": "Witnet.RadonRetrieval",
                      "nameLocations": [
                        "11213:6:67",
                        "11220:14:67"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16495,
                      "src": "11213:21:67"
                    },
                    "referencedDeclaration": 16495,
                    "src": "11213:21:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonRetrieval_$16495_storage_ptr",
                      "typeString": "struct Witnet.RadonRetrieval"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21745,
                  "mutability": "mutable",
                  "name": "args",
                  "nameLocation": "11264:4:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21814,
                  "src": "11248:20:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                    "typeString": "string[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 21743,
                      "name": "string",
                      "nodeType": "ElementaryTypeName",
                      "src": "11248:6:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage_ptr",
                        "typeString": "string"
                      }
                    },
                    "id": 21744,
                    "nodeType": "ArrayTypeName",
                    "src": "11248:8:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                      "typeString": "string[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11212:57:67"
            },
            "returnParameters": {
              "id": 21747,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11296:0:67"
            },
            "scope": 22450,
            "src": "11187:469:67",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 21908,
              "nodeType": "Block",
              "src": "11938:779:67",
              "statements": [
                {
                  "condition": {
                    "id": 21884,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "!",
                    "prefix": true,
                    "src": "11953:500:67",
                    "subExpression": {
                      "components": [
                        {
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 21882,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "commonType": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "id": 21858,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 21839,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "expression": {
                                  "arguments": [
                                    {
                                      "id": 21835,
                                      "name": "url",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 21819,
                                      "src": "11975:3:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    ],
                                    "id": 21834,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "11969:5:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                      "typeString": "type(bytes storage pointer)"
                                    },
                                    "typeName": {
                                      "id": 21833,
                                      "name": "bytes",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "11969:5:67",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 21836,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "11969:10:67",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                },
                                "id": 21837,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11980:6:67",
                                "memberName": "length",
                                "nodeType": "MemberAccess",
                                "src": "11969:17:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">",
                              "rightExpression": {
                                "hexValue": "30",
                                "id": 21838,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "11989:1:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "src": "11969:21:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "&&",
                            "rightExpression": {
                              "components": [
                                {
                                  "commonType": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  },
                                  "id": 21856,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "commonType": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    },
                                    "id": 21850,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "commonType": {
                                        "typeIdentifier": "t_enum$_RadonDataRequestMethods_$16410",
                                        "typeString": "enum Witnet.RadonDataRequestMethods"
                                      },
                                      "id": 21844,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "id": 21840,
                                        "name": "method",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 21817,
                                        "src": "12035:6:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_enum$_RadonDataRequestMethods_$16410",
                                          "typeString": "enum Witnet.RadonDataRequestMethods"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "==",
                                      "rightExpression": {
                                        "expression": {
                                          "expression": {
                                            "id": 21841,
                                            "name": "Witnet",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 17557,
                                            "src": "12045:6:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                              "typeString": "type(library Witnet)"
                                            }
                                          },
                                          "id": 21842,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "12052:23:67",
                                          "memberName": "RadonDataRequestMethods",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 16410,
                                          "src": "12045:30:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_enum$_RadonDataRequestMethods_$16410_$",
                                            "typeString": "type(enum Witnet.RadonDataRequestMethods)"
                                          }
                                        },
                                        "id": 21843,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberLocation": "12076:7:67",
                                        "memberName": "HttpGet",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 16406,
                                        "src": "12045:38:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_enum$_RadonDataRequestMethods_$16410",
                                          "typeString": "enum Witnet.RadonDataRequestMethods"
                                        }
                                      },
                                      "src": "12035:48:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "||",
                                    "rightExpression": {
                                      "commonType": {
                                        "typeIdentifier": "t_enum$_RadonDataRequestMethods_$16410",
                                        "typeString": "enum Witnet.RadonDataRequestMethods"
                                      },
                                      "id": 21849,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "id": 21845,
                                        "name": "method",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 21817,
                                        "src": "12113:6:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_enum$_RadonDataRequestMethods_$16410",
                                          "typeString": "enum Witnet.RadonDataRequestMethods"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "==",
                                      "rightExpression": {
                                        "expression": {
                                          "expression": {
                                            "id": 21846,
                                            "name": "Witnet",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 17557,
                                            "src": "12123:6:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                              "typeString": "type(library Witnet)"
                                            }
                                          },
                                          "id": 21847,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "12130:23:67",
                                          "memberName": "RadonDataRequestMethods",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 16410,
                                          "src": "12123:30:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_enum$_RadonDataRequestMethods_$16410_$",
                                            "typeString": "type(enum Witnet.RadonDataRequestMethods)"
                                          }
                                        },
                                        "id": 21848,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberLocation": "12154:8:67",
                                        "memberName": "HttpPost",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 16408,
                                        "src": "12123:39:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_enum$_RadonDataRequestMethods_$16410",
                                          "typeString": "enum Witnet.RadonDataRequestMethods"
                                        }
                                      },
                                      "src": "12113:49:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    "src": "12035:127:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "||",
                                  "rightExpression": {
                                    "commonType": {
                                      "typeIdentifier": "t_enum$_RadonDataRequestMethods_$16410",
                                      "typeString": "enum Witnet.RadonDataRequestMethods"
                                    },
                                    "id": 21855,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "id": 21851,
                                      "name": "method",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 21817,
                                      "src": "12191:6:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_enum$_RadonDataRequestMethods_$16410",
                                        "typeString": "enum Witnet.RadonDataRequestMethods"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "==",
                                    "rightExpression": {
                                      "expression": {
                                        "expression": {
                                          "id": 21852,
                                          "name": "Witnet",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 17557,
                                          "src": "12201:6:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                            "typeString": "type(library Witnet)"
                                          }
                                        },
                                        "id": 21853,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "12208:23:67",
                                        "memberName": "RadonDataRequestMethods",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 16410,
                                        "src": "12201:30:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_enum$_RadonDataRequestMethods_$16410_$",
                                          "typeString": "type(enum Witnet.RadonDataRequestMethods)"
                                        }
                                      },
                                      "id": 21854,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "12232:8:67",
                                      "memberName": "HttpHead",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 16409,
                                      "src": "12201:39:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_enum$_RadonDataRequestMethods_$16410",
                                        "typeString": "enum Witnet.RadonDataRequestMethods"
                                      }
                                    },
                                    "src": "12191:49:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "src": "12035:205:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                }
                              ],
                              "id": 21857,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "TupleExpression",
                              "src": "12012:247:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "src": "11969:290:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "||",
                          "rightExpression": {
                            "commonType": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "id": 21881,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "commonType": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "id": 21876,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "commonType": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "id": 21871,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "commonType": {
                                    "typeIdentifier": "t_enum$_RadonDataRequestMethods_$16410",
                                    "typeString": "enum Witnet.RadonDataRequestMethods"
                                  },
                                  "id": 21863,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "id": 21859,
                                    "name": "method",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 21817,
                                    "src": "12276:6:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_RadonDataRequestMethods_$16410",
                                      "typeString": "enum Witnet.RadonDataRequestMethods"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "==",
                                  "rightExpression": {
                                    "expression": {
                                      "expression": {
                                        "id": 21860,
                                        "name": "Witnet",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 17557,
                                        "src": "12286:6:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                          "typeString": "type(library Witnet)"
                                        }
                                      },
                                      "id": 21861,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "12293:23:67",
                                      "memberName": "RadonDataRequestMethods",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 16410,
                                      "src": "12286:30:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_enum$_RadonDataRequestMethods_$16410_$",
                                        "typeString": "type(enum Witnet.RadonDataRequestMethods)"
                                      }
                                    },
                                    "id": 21862,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "12317:3:67",
                                    "memberName": "RNG",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 16407,
                                    "src": "12286:34:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_RadonDataRequestMethods_$16410",
                                      "typeString": "enum Witnet.RadonDataRequestMethods"
                                    }
                                  },
                                  "src": "12276:44:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "&&",
                                "rightExpression": {
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 21870,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "expression": {
                                      "arguments": [
                                        {
                                          "id": 21866,
                                          "name": "url",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 21819,
                                          "src": "12347:3:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        ],
                                        "id": 21865,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "12341:5:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                          "typeString": "type(bytes storage pointer)"
                                        },
                                        "typeName": {
                                          "id": 21864,
                                          "name": "bytes",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "12341:5:67",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 21867,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "12341:10:67",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    },
                                    "id": 21868,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "12352:6:67",
                                    "memberName": "length",
                                    "nodeType": "MemberAccess",
                                    "src": "12341:17:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "==",
                                  "rightExpression": {
                                    "hexValue": "30",
                                    "id": 21869,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "12362:1:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    },
                                    "value": "0"
                                  },
                                  "src": "12341:22:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "src": "12276:87:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "&&",
                              "rightExpression": {
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 21875,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "expression": {
                                    "id": 21872,
                                    "name": "headers",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 21826,
                                    "src": "12384:7:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr",
                                      "typeString": "string memory[2] memory[] memory"
                                    }
                                  },
                                  "id": 21873,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "12392:6:67",
                                  "memberName": "length",
                                  "nodeType": "MemberAccess",
                                  "src": "12384:14:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "==",
                                "rightExpression": {
                                  "hexValue": "30",
                                  "id": 21874,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "12402:1:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "src": "12384:19:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "src": "12276:127:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "&&",
                            "rightExpression": {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 21880,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "expression": {
                                  "id": 21877,
                                  "name": "script",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21828,
                                  "src": "12424:6:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                },
                                "id": 21878,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "12431:6:67",
                                "memberName": "length",
                                "nodeType": "MemberAccess",
                                "src": "12424:13:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">=",
                              "rightExpression": {
                                "hexValue": "31",
                                "id": 21879,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "12441:1:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_1_by_1",
                                  "typeString": "int_const 1"
                                },
                                "value": "1"
                              },
                              "src": "12424:18:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "src": "12276:166:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "11969:473:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        }
                      ],
                      "id": 21883,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "11954:499:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 21896,
                  "nodeType": "IfStatement",
                  "src": "11949:686:67",
                  "trueBody": {
                    "id": 21895,
                    "nodeType": "Block",
                    "src": "12455:180:67",
                    "statements": [
                      {
                        "errorCall": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "id": 21888,
                                  "name": "method",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 21817,
                                  "src": "12530:6:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_RadonDataRequestMethods_$16410",
                                    "typeString": "enum Witnet.RadonDataRequestMethods"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_enum$_RadonDataRequestMethods_$16410",
                                    "typeString": "enum Witnet.RadonDataRequestMethods"
                                  }
                                ],
                                "id": 21887,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "12524:5:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_uint8_$",
                                  "typeString": "type(uint8)"
                                },
                                "typeName": {
                                  "id": 21886,
                                  "name": "uint8",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "12524:5:67",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 21889,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "12524:13:67",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint8",
                                "typeString": "uint8"
                              }
                            },
                            {
                              "id": 21890,
                              "name": "url",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21819,
                              "src": "12556:3:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            {
                              "id": 21891,
                              "name": "body",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21821,
                              "src": "12578:4:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            {
                              "id": 21892,
                              "name": "headers",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21826,
                              "src": "12601:7:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr",
                                "typeString": "string memory[2] memory[] memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint8",
                                "typeString": "uint8"
                              },
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              },
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              },
                              {
                                "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr",
                                "typeString": "string memory[2] memory[] memory"
                              }
                            ],
                            "id": 21885,
                            "name": "UnsupportedDataRequestMethod",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20767,
                            "src": "12477:28:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr_$returns$__$",
                              "typeString": "function (uint8,string memory,string memory,string memory[2] memory[] memory) pure"
                            }
                          },
                          "id": 21893,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "12477:146:67",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 21894,
                        "nodeType": "RevertStatement",
                        "src": "12470:153:67"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 21900,
                            "name": "method",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21817,
                            "src": "12673:6:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_RadonDataRequestMethods_$16410",
                              "typeString": "enum Witnet.RadonDataRequestMethods"
                            }
                          },
                          {
                            "id": 21901,
                            "name": "url",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21819,
                            "src": "12681:3:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "id": 21902,
                            "name": "body",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21821,
                            "src": "12686:4:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "id": 21903,
                            "name": "headers",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21826,
                            "src": "12692:7:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr",
                              "typeString": "string memory[2] memory[] memory"
                            }
                          },
                          {
                            "id": 21904,
                            "name": "script",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21828,
                            "src": "12701:6:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_enum$_RadonDataRequestMethods_$16410",
                              "typeString": "enum Witnet.RadonDataRequestMethods"
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr",
                              "typeString": "string memory[2] memory[] memory"
                            },
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "expression": {
                            "id": 21898,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4294967295,
                            "src": "12662:3:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 21899,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "12666:6:67",
                          "memberName": "encode",
                          "nodeType": "MemberAccess",
                          "src": "12662:10:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 21905,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "12662:46:67",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 21897,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4294967288,
                      "src": "12652:9:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 21906,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12652:57:67",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 21832,
                  "id": 21907,
                  "nodeType": "Return",
                  "src": "12645:64:67"
                }
              ]
            },
            "functionSelector": "17464727",
            "id": 21909,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "validate",
            "nameLocation": "11673:8:67",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 21829,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21817,
                  "mutability": "mutable",
                  "name": "method",
                  "nameLocation": "11727:6:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21909,
                  "src": "11696:37:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_RadonDataRequestMethods_$16410",
                    "typeString": "enum Witnet.RadonDataRequestMethods"
                  },
                  "typeName": {
                    "id": 21816,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 21815,
                      "name": "Witnet.RadonDataRequestMethods",
                      "nameLocations": [
                        "11696:6:67",
                        "11703:23:67"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16410,
                      "src": "11696:30:67"
                    },
                    "referencedDeclaration": 16410,
                    "src": "11696:30:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_RadonDataRequestMethods_$16410",
                      "typeString": "enum Witnet.RadonDataRequestMethods"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21819,
                  "mutability": "mutable",
                  "name": "url",
                  "nameLocation": "11762:3:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21909,
                  "src": "11748:17:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 21818,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "11748:6:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21821,
                  "mutability": "mutable",
                  "name": "body",
                  "nameLocation": "11794:4:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21909,
                  "src": "11780:18:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 21820,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "11780:6:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21826,
                  "mutability": "mutable",
                  "name": "headers",
                  "nameLocation": "11832:7:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21909,
                  "src": "11813:26:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr",
                    "typeString": "string[2][]"
                  },
                  "typeName": {
                    "baseType": {
                      "baseType": {
                        "id": 21822,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "11813:6:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "id": 21824,
                      "length": {
                        "hexValue": "32",
                        "id": 21823,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "11820:1:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_2_by_1",
                          "typeString": "int_const 2"
                        },
                        "value": "2"
                      },
                      "nodeType": "ArrayTypeName",
                      "src": "11813:9:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_storage_$2_storage_ptr",
                        "typeString": "string[2]"
                      }
                    },
                    "id": 21825,
                    "nodeType": "ArrayTypeName",
                    "src": "11813:11:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_array$_t_string_storage_$2_storage_$dyn_storage_ptr",
                      "typeString": "string[2][]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21828,
                  "mutability": "mutable",
                  "name": "script",
                  "nameLocation": "11867:6:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 21909,
                  "src": "11854:19:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 21827,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "11854:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11681:203:67"
            },
            "returnParameters": {
              "id": 21832,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21831,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 21909,
                  "src": "11924:7:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 21830,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "11924:7:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11923:9:67"
            },
            "scope": 22450,
            "src": "11664:1053:67",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 21999,
              "nodeType": "Block",
              "src": "12888:993:67",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 21947,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "id": 21941,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 21935,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 21929,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "commonType": {
                              "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                              "typeString": "enum Witnet.RadonDataTypes"
                            },
                            "id": 21923,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "id": 21919,
                              "name": "dataType",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21912,
                              "src": "12917:8:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                                "typeString": "enum Witnet.RadonDataTypes"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "==",
                            "rightExpression": {
                              "expression": {
                                "expression": {
                                  "id": 21920,
                                  "name": "Witnet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 17557,
                                  "src": "12929:6:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                    "typeString": "type(library Witnet)"
                                  }
                                },
                                "id": 21921,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "12936:14:67",
                                "memberName": "RadonDataTypes",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16432,
                                "src": "12929:21:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_RadonDataTypes_$16432_$",
                                  "typeString": "type(enum Witnet.RadonDataTypes)"
                                }
                              },
                              "id": 21922,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "12951:3:67",
                              "memberName": "Any",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16412,
                              "src": "12929:25:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                                "typeString": "enum Witnet.RadonDataTypes"
                              }
                            },
                            "src": "12917:37:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "||",
                          "rightExpression": {
                            "commonType": {
                              "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                              "typeString": "enum Witnet.RadonDataTypes"
                            },
                            "id": 21928,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "id": 21924,
                              "name": "dataType",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 21912,
                              "src": "12975:8:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                                "typeString": "enum Witnet.RadonDataTypes"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "==",
                            "rightExpression": {
                              "expression": {
                                "expression": {
                                  "id": 21925,
                                  "name": "Witnet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 17557,
                                  "src": "12987:6:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                    "typeString": "type(library Witnet)"
                                  }
                                },
                                "id": 21926,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "12994:14:67",
                                "memberName": "RadonDataTypes",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16432,
                                "src": "12987:21:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_RadonDataTypes_$16432_$",
                                  "typeString": "type(enum Witnet.RadonDataTypes)"
                                }
                              },
                              "id": 21927,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "13009:6:67",
                              "memberName": "String",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16419,
                              "src": "12987:28:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                                "typeString": "enum Witnet.RadonDataTypes"
                              }
                            },
                            "src": "12975:40:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "12917:98:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                            "typeString": "enum Witnet.RadonDataTypes"
                          },
                          "id": 21934,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 21930,
                            "name": "dataType",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21912,
                            "src": "13036:8:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                              "typeString": "enum Witnet.RadonDataTypes"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 21931,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 17557,
                                "src": "13048:6:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 21932,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "13055:14:67",
                              "memberName": "RadonDataTypes",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16432,
                              "src": "13048:21:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_RadonDataTypes_$16432_$",
                                "typeString": "type(enum Witnet.RadonDataTypes)"
                              }
                            },
                            "id": 21933,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "13070:5:67",
                            "memberName": "Bytes",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 16415,
                            "src": "13048:27:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                              "typeString": "enum Witnet.RadonDataTypes"
                            }
                          },
                          "src": "13036:39:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "12917:158:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "||",
                      "rightExpression": {
                        "commonType": {
                          "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                          "typeString": "enum Witnet.RadonDataTypes"
                        },
                        "id": 21940,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 21936,
                          "name": "dataType",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21912,
                          "src": "13096:8:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                            "typeString": "enum Witnet.RadonDataTypes"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "expression": {
                              "id": 21937,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 17557,
                              "src": "13108:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 21938,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "13115:14:67",
                            "memberName": "RadonDataTypes",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 16432,
                            "src": "13108:21:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_RadonDataTypes_$16432_$",
                              "typeString": "type(enum Witnet.RadonDataTypes)"
                            }
                          },
                          "id": 21939,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "13130:5:67",
                          "memberName": "Array",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 16413,
                          "src": "13108:27:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                            "typeString": "enum Witnet.RadonDataTypes"
                          }
                        },
                        "src": "13096:39:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "src": "12917:218:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                        "typeString": "enum Witnet.RadonDataTypes"
                      },
                      "id": 21946,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 21942,
                        "name": "dataType",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 21912,
                        "src": "13156:8:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                          "typeString": "enum Witnet.RadonDataTypes"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 21943,
                            "name": "Witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 17557,
                            "src": "13168:6:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                              "typeString": "type(library Witnet)"
                            }
                          },
                          "id": 21944,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "13175:14:67",
                          "memberName": "RadonDataTypes",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 16432,
                          "src": "13168:21:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_RadonDataTypes_$16432_$",
                            "typeString": "type(enum Witnet.RadonDataTypes)"
                          }
                        },
                        "id": 21945,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "13190:3:67",
                        "memberName": "Map",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16418,
                        "src": "13168:25:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                          "typeString": "enum Witnet.RadonDataTypes"
                        }
                      },
                      "src": "13156:37:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "12917:276:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "id": 21982,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 21976,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "commonType": {
                            "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                            "typeString": "enum Witnet.RadonDataTypes"
                          },
                          "id": 21970,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 21966,
                            "name": "dataType",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21912,
                            "src": "13520:8:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                              "typeString": "enum Witnet.RadonDataTypes"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 21967,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 17557,
                                "src": "13532:6:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 21968,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "13539:14:67",
                              "memberName": "RadonDataTypes",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16432,
                              "src": "13532:21:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_RadonDataTypes_$16432_$",
                                "typeString": "type(enum Witnet.RadonDataTypes)"
                              }
                            },
                            "id": 21969,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "13554:7:67",
                            "memberName": "Integer",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 16416,
                            "src": "13532:29:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                              "typeString": "enum Witnet.RadonDataTypes"
                            }
                          },
                          "src": "13520:41:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                            "typeString": "enum Witnet.RadonDataTypes"
                          },
                          "id": 21975,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 21971,
                            "name": "dataType",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21912,
                            "src": "13582:8:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                              "typeString": "enum Witnet.RadonDataTypes"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 21972,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 17557,
                                "src": "13594:6:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 21973,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "13601:14:67",
                              "memberName": "RadonDataTypes",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16432,
                              "src": "13594:21:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_RadonDataTypes_$16432_$",
                                "typeString": "type(enum Witnet.RadonDataTypes)"
                              }
                            },
                            "id": 21974,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "13616:5:67",
                            "memberName": "Float",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 16417,
                            "src": "13594:27:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                              "typeString": "enum Witnet.RadonDataTypes"
                            }
                          },
                          "src": "13582:39:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "13520:101:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "||",
                      "rightExpression": {
                        "commonType": {
                          "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                          "typeString": "enum Witnet.RadonDataTypes"
                        },
                        "id": 21981,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 21977,
                          "name": "dataType",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 21912,
                          "src": "13642:8:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                            "typeString": "enum Witnet.RadonDataTypes"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "expression": {
                              "id": 21978,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 17557,
                              "src": "13654:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 21979,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "13661:14:67",
                            "memberName": "RadonDataTypes",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 16432,
                            "src": "13654:21:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_RadonDataTypes_$16432_$",
                              "typeString": "type(enum Witnet.RadonDataTypes)"
                            }
                          },
                          "id": 21980,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "13676:4:67",
                          "memberName": "Bool",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 16414,
                          "src": "13654:26:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                            "typeString": "enum Witnet.RadonDataTypes"
                          }
                        },
                        "src": "13642:38:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "src": "13520:160:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "id": 21996,
                      "nodeType": "Block",
                      "src": "13734:140:67",
                      "statements": [
                        {
                          "errorCall": {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "id": 21989,
                                    "name": "dataType",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 21912,
                                    "src": "13805:8:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                                      "typeString": "enum Witnet.RadonDataTypes"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                                      "typeString": "enum Witnet.RadonDataTypes"
                                    }
                                  ],
                                  "id": 21988,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "13799:5:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_uint8_$",
                                    "typeString": "type(uint8)"
                                  },
                                  "typeName": {
                                    "id": 21987,
                                    "name": "uint8",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "13799:5:67",
                                    "typeDescriptions": {}
                                  }
                                },
                                "id": 21990,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "13799:15:67",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint8",
                                  "typeString": "uint8"
                                }
                              },
                              {
                                "arguments": [
                                  {
                                    "id": 21992,
                                    "name": "dataType",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 21912,
                                    "src": "13838:8:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                                      "typeString": "enum Witnet.RadonDataTypes"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                                      "typeString": "enum Witnet.RadonDataTypes"
                                    }
                                  ],
                                  "id": 21991,
                                  "name": "size",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 20850,
                                  "src": "13833:4:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_enum$_RadonDataTypes_$16432_$returns$_t_uint16_$",
                                    "typeString": "function (enum Witnet.RadonDataTypes) pure returns (uint16)"
                                  }
                                },
                                "id": 21993,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "13833:14:67",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint16",
                                  "typeString": "uint16"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint8",
                                  "typeString": "uint8"
                                },
                                {
                                  "typeIdentifier": "t_uint16",
                                  "typeString": "uint16"
                                }
                              ],
                              "id": 21986,
                              "name": "UnsupportedRadonDataType",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20773,
                              "src": "13756:24:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$",
                                "typeString": "function (uint8,uint256) pure"
                              }
                            },
                            "id": 21994,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "13756:106:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 21995,
                          "nodeType": "RevertStatement",
                          "src": "13749:113:67"
                        }
                      ]
                    },
                    "id": 21997,
                    "nodeType": "IfStatement",
                    "src": "13502:372:67",
                    "trueBody": {
                      "id": 21985,
                      "nodeType": "Block",
                      "src": "13692:36:67",
                      "statements": [
                        {
                          "expression": {
                            "hexValue": "39",
                            "id": 21983,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "13714:1:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_9_by_1",
                              "typeString": "int_const 9"
                            },
                            "value": "9"
                          },
                          "functionReturnParameters": 21918,
                          "id": 21984,
                          "nodeType": "Return",
                          "src": "13707:8:67"
                        }
                      ]
                    }
                  },
                  "id": 21998,
                  "nodeType": "IfStatement",
                  "src": "12899:975:67",
                  "trueBody": {
                    "id": 21965,
                    "nodeType": "Block",
                    "src": "13205:291:67",
                    "statements": [
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint16",
                            "typeString": "uint16"
                          },
                          "id": 21950,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 21948,
                            "name": "maxDataSize",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21914,
                            "src": "13224:11:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint16",
                              "typeString": "uint16"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "hexValue": "30",
                            "id": 21949,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "13239:1:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "13224:16:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 21960,
                        "nodeType": "IfStatement",
                        "src": "13220:179:67",
                        "trueBody": {
                          "id": 21959,
                          "nodeType": "Block",
                          "src": "13242:157:67",
                          "statements": [
                            {
                              "errorCall": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "id": 21954,
                                        "name": "dataType",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 21912,
                                        "src": "13321:8:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                                          "typeString": "enum Witnet.RadonDataTypes"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                                          "typeString": "enum Witnet.RadonDataTypes"
                                        }
                                      ],
                                      "id": 21953,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "13315:5:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint8_$",
                                        "typeString": "type(uint8)"
                                      },
                                      "typeName": {
                                        "id": 21952,
                                        "name": "uint8",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13315:5:67",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 21955,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "13315:15:67",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  },
                                  {
                                    "id": 21956,
                                    "name": "maxDataSize",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 21914,
                                    "src": "13353:11:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint16",
                                      "typeString": "uint16"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    },
                                    {
                                      "typeIdentifier": "t_uint16",
                                      "typeString": "uint16"
                                    }
                                  ],
                                  "id": 21951,
                                  "name": "UnsupportedRadonDataType",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 20773,
                                  "src": "13268:24:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_uint256_$returns$__$",
                                    "typeString": "function (uint8,uint256) pure"
                                  }
                                },
                                "id": 21957,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "13268:115:67",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 21958,
                              "nodeType": "RevertStatement",
                              "src": "13261:122:67"
                            }
                          ]
                        }
                      },
                      {
                        "expression": {
                          "commonType": {
                            "typeIdentifier": "t_uint16",
                            "typeString": "uint16"
                          },
                          "id": 21963,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 21961,
                            "name": "maxDataSize",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 21914,
                            "src": "13420:11:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint16",
                              "typeString": "uint16"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "hexValue": "33",
                            "id": 21962,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "13434:1:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_3_by_1",
                              "typeString": "int_const 3"
                            },
                            "value": "3"
                          },
                          "src": "13420:15:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint16",
                            "typeString": "uint16"
                          }
                        },
                        "functionReturnParameters": 21918,
                        "id": 21964,
                        "nodeType": "Return",
                        "src": "13413:22:67"
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "0160730f",
            "id": 22000,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "validate",
            "nameLocation": "12738:8:67",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 21915,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21912,
                  "mutability": "mutable",
                  "name": "dataType",
                  "nameLocation": "12783:8:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 22000,
                  "src": "12761:30:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                    "typeString": "enum Witnet.RadonDataTypes"
                  },
                  "typeName": {
                    "id": 21911,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 21910,
                      "name": "Witnet.RadonDataTypes",
                      "nameLocations": [
                        "12761:6:67",
                        "12768:14:67"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16432,
                      "src": "12761:21:67"
                    },
                    "referencedDeclaration": 16432,
                    "src": "12761:21:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                      "typeString": "enum Witnet.RadonDataTypes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 21914,
                  "mutability": "mutable",
                  "name": "maxDataSize",
                  "nameLocation": "12813:11:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 22000,
                  "src": "12806:18:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  },
                  "typeName": {
                    "id": 21913,
                    "name": "uint16",
                    "nodeType": "ElementaryTypeName",
                    "src": "12806:6:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12746:89:67"
            },
            "returnParameters": {
              "id": 21918,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 21917,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22000,
                  "src": "12875:6:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  },
                  "typeName": {
                    "id": 21916,
                    "name": "uint16",
                    "nodeType": "ElementaryTypeName",
                    "src": "12875:6:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12874:8:67"
            },
            "scope": 22450,
            "src": "12729:1152:67",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 22065,
              "nodeType": "Block",
              "src": "13967:755:67",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_RadonFilterOpcodes_$16451",
                      "typeString": "enum Witnet.RadonFilterOpcodes"
                    },
                    "id": 22011,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 22006,
                        "name": "filter",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22003,
                        "src": "13996:6:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RadonFilter_$16439_memory_ptr",
                          "typeString": "struct Witnet.RadonFilter memory"
                        }
                      },
                      "id": 22007,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "14003:6:67",
                      "memberName": "opcode",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 16436,
                      "src": "13996:13:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_RadonFilterOpcodes_$16451",
                        "typeString": "enum Witnet.RadonFilterOpcodes"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 22008,
                          "name": "Witnet",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 17557,
                          "src": "14013:6:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                            "typeString": "type(library Witnet)"
                          }
                        },
                        "id": 22009,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "14020:18:67",
                        "memberName": "RadonFilterOpcodes",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16451,
                        "src": "14013:25:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_RadonFilterOpcodes_$16451_$",
                          "typeString": "type(enum Witnet.RadonFilterOpcodes)"
                        }
                      },
                      "id": 22010,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "14039:17:67",
                      "memberName": "StandardDeviation",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 16446,
                      "src": "14013:43:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_RadonFilterOpcodes_$16451",
                        "typeString": "enum Witnet.RadonFilterOpcodes"
                      }
                    },
                    "src": "13996:60:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_RadonFilterOpcodes_$16451",
                        "typeString": "enum Witnet.RadonFilterOpcodes"
                      },
                      "id": 22035,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 22030,
                          "name": "filter",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 22003,
                          "src": "14303:6:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RadonFilter_$16439_memory_ptr",
                            "typeString": "struct Witnet.RadonFilter memory"
                          }
                        },
                        "id": 22031,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "14310:6:67",
                        "memberName": "opcode",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16436,
                        "src": "14303:13:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_RadonFilterOpcodes_$16451",
                          "typeString": "enum Witnet.RadonFilterOpcodes"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 22032,
                            "name": "Witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 17557,
                            "src": "14320:6:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                              "typeString": "type(library Witnet)"
                            }
                          },
                          "id": 22033,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "14327:18:67",
                          "memberName": "RadonFilterOpcodes",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 16451,
                          "src": "14320:25:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_RadonFilterOpcodes_$16451_$",
                            "typeString": "type(enum Witnet.RadonFilterOpcodes)"
                          }
                        },
                        "id": 22034,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "14346:4:67",
                        "memberName": "Mode",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16449,
                        "src": "14320:30:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_RadonFilterOpcodes_$16451",
                          "typeString": "enum Witnet.RadonFilterOpcodes"
                        }
                      },
                      "src": "14303:47:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "id": 22062,
                      "nodeType": "Block",
                      "src": "14588:127:67",
                      "statements": [
                        {
                          "errorCall": {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "expression": {
                                      "id": 22057,
                                      "name": "filter",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 22003,
                                      "src": "14688:6:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_RadonFilter_$16439_memory_ptr",
                                        "typeString": "struct Witnet.RadonFilter memory"
                                      }
                                    },
                                    "id": 22058,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "14695:6:67",
                                    "memberName": "opcode",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 16436,
                                    "src": "14688:13:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_RadonFilterOpcodes_$16451",
                                      "typeString": "enum Witnet.RadonFilterOpcodes"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_enum$_RadonFilterOpcodes_$16451",
                                      "typeString": "enum Witnet.RadonFilterOpcodes"
                                    }
                                  ],
                                  "id": 22056,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "14682:5:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_uint8_$",
                                    "typeString": "type(uint8)"
                                  },
                                  "typeName": {
                                    "id": 22055,
                                    "name": "uint8",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "14682:5:67",
                                    "typeDescriptions": {}
                                  }
                                },
                                "id": 22059,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "14682:20:67",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint8",
                                  "typeString": "uint8"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint8",
                                  "typeString": "uint8"
                                }
                              ],
                              "id": 22054,
                              "name": "UnsupportedRadonFilterOpcode",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20777,
                              "src": "14653:28:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_error_pure$_t_uint8_$returns$__$",
                                "typeString": "function (uint8) pure"
                              }
                            },
                            "id": 22060,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "14653:50:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 22061,
                          "nodeType": "RevertStatement",
                          "src": "14646:57:67"
                        }
                      ]
                    },
                    "id": 22063,
                    "nodeType": "IfStatement",
                    "src": "14285:430:67",
                    "trueBody": {
                      "id": 22053,
                      "nodeType": "Block",
                      "src": "14362:220:67",
                      "statements": [
                        {
                          "condition": {
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 22040,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "expression": {
                                "expression": {
                                  "id": 22036,
                                  "name": "filter",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 22003,
                                  "src": "14444:6:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RadonFilter_$16439_memory_ptr",
                                    "typeString": "struct Witnet.RadonFilter memory"
                                  }
                                },
                                "id": 22037,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "14451:4:67",
                                "memberName": "args",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16438,
                                "src": "14444:11:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              },
                              "id": 22038,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "14456:6:67",
                              "memberName": "length",
                              "nodeType": "MemberAccess",
                              "src": "14444:18:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": ">",
                            "rightExpression": {
                              "hexValue": "30",
                              "id": 22039,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "14465:1:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            "src": "14444:22:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "id": 22052,
                          "nodeType": "IfStatement",
                          "src": "14440:131:67",
                          "trueBody": {
                            "id": 22051,
                            "nodeType": "Block",
                            "src": "14468:103:67",
                            "statements": [
                              {
                                "errorCall": {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "expression": {
                                            "id": 22044,
                                            "name": "filter",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 22003,
                                            "src": "14527:6:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_RadonFilter_$16439_memory_ptr",
                                              "typeString": "struct Witnet.RadonFilter memory"
                                            }
                                          },
                                          "id": 22045,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "14534:6:67",
                                          "memberName": "opcode",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 16436,
                                          "src": "14527:13:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_enum$_RadonFilterOpcodes_$16451",
                                            "typeString": "enum Witnet.RadonFilterOpcodes"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_enum$_RadonFilterOpcodes_$16451",
                                            "typeString": "enum Witnet.RadonFilterOpcodes"
                                          }
                                        ],
                                        "id": 22043,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "14521:5:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_uint8_$",
                                          "typeString": "type(uint8)"
                                        },
                                        "typeName": {
                                          "id": 22042,
                                          "name": "uint8",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "14521:5:67",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 22046,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "14521:20:67",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint8",
                                        "typeString": "uint8"
                                      }
                                    },
                                    {
                                      "expression": {
                                        "id": 22047,
                                        "name": "filter",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 22003,
                                        "src": "14543:6:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_RadonFilter_$16439_memory_ptr",
                                          "typeString": "struct Witnet.RadonFilter memory"
                                        }
                                      },
                                      "id": 22048,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "14550:4:67",
                                      "memberName": "args",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 16438,
                                      "src": "14543:11:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_uint8",
                                        "typeString": "uint8"
                                      },
                                      {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    ],
                                    "id": 22041,
                                    "name": "UnsupportedRadonFilterArgs",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 20783,
                                    "src": "14494:26:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_bytes_memory_ptr_$returns$__$",
                                      "typeString": "function (uint8,bytes memory) pure"
                                    }
                                  },
                                  "id": 22049,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "14494:61:67",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_tuple$__$",
                                    "typeString": "tuple()"
                                  }
                                },
                                "id": 22050,
                                "nodeType": "RevertStatement",
                                "src": "14487:68:67"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  },
                  "id": 22064,
                  "nodeType": "IfStatement",
                  "src": "13978:737:67",
                  "trueBody": {
                    "id": 22029,
                    "nodeType": "Block",
                    "src": "14068:211:67",
                    "statements": [
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 22016,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "expression": {
                                "id": 22012,
                                "name": "filter",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 22003,
                                "src": "14140:6:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RadonFilter_$16439_memory_ptr",
                                  "typeString": "struct Witnet.RadonFilter memory"
                                }
                              },
                              "id": 22013,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "14147:4:67",
                              "memberName": "args",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16438,
                              "src": "14140:11:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            },
                            "id": 22014,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "14152:6:67",
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "src": "14140:18:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "hexValue": "30",
                            "id": 22015,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "14162:1:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "14140:23:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 22028,
                        "nodeType": "IfStatement",
                        "src": "14136:132:67",
                        "trueBody": {
                          "id": 22027,
                          "nodeType": "Block",
                          "src": "14165:103:67",
                          "statements": [
                            {
                              "errorCall": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "expression": {
                                          "id": 22020,
                                          "name": "filter",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 22003,
                                          "src": "14224:6:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_RadonFilter_$16439_memory_ptr",
                                            "typeString": "struct Witnet.RadonFilter memory"
                                          }
                                        },
                                        "id": 22021,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "14231:6:67",
                                        "memberName": "opcode",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 16436,
                                        "src": "14224:13:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_enum$_RadonFilterOpcodes_$16451",
                                          "typeString": "enum Witnet.RadonFilterOpcodes"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_enum$_RadonFilterOpcodes_$16451",
                                          "typeString": "enum Witnet.RadonFilterOpcodes"
                                        }
                                      ],
                                      "id": 22019,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "14218:5:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint8_$",
                                        "typeString": "type(uint8)"
                                      },
                                      "typeName": {
                                        "id": 22018,
                                        "name": "uint8",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14218:5:67",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 22022,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "14218:20:67",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  },
                                  {
                                    "expression": {
                                      "id": 22023,
                                      "name": "filter",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 22003,
                                      "src": "14240:6:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_RadonFilter_$16439_memory_ptr",
                                        "typeString": "struct Witnet.RadonFilter memory"
                                      }
                                    },
                                    "id": 22024,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "14247:4:67",
                                    "memberName": "args",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 16438,
                                    "src": "14240:11:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    },
                                    {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  ],
                                  "id": 22017,
                                  "name": "UnsupportedRadonFilterArgs",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 20783,
                                  "src": "14191:26:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_error_pure$_t_uint8_$_t_bytes_memory_ptr_$returns$__$",
                                    "typeString": "function (uint8,bytes memory) pure"
                                  }
                                },
                                "id": 22025,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "14191:61:67",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 22026,
                              "nodeType": "RevertStatement",
                              "src": "14184:68:67"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "a97b1d31",
            "id": 22066,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "validate",
            "nameLocation": "13898:8:67",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22004,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22003,
                  "mutability": "mutable",
                  "name": "filter",
                  "nameLocation": "13933:6:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 22066,
                  "src": "13907:32:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonFilter_$16439_memory_ptr",
                    "typeString": "struct Witnet.RadonFilter"
                  },
                  "typeName": {
                    "id": 22002,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22001,
                      "name": "Witnet.RadonFilter",
                      "nameLocations": [
                        "13907:6:67",
                        "13914:11:67"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16439,
                      "src": "13907:18:67"
                    },
                    "referencedDeclaration": 16439,
                    "src": "13907:18:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonFilter_$16439_storage_ptr",
                      "typeString": "struct Witnet.RadonFilter"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13906:34:67"
            },
            "returnParameters": {
              "id": 22005,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "13967:0:67"
            },
            "scope": 22450,
            "src": "13889:833:67",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 22139,
              "nodeType": "Block",
              "src": "14810:1054:67",
              "statements": [
                {
                  "condition": {
                    "id": 22107,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "!",
                    "prefix": true,
                    "src": "14875:424:67",
                    "subExpression": {
                      "components": [
                        {
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 22105,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "commonType": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "id": 22098,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "commonType": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "id": 22091,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "commonType": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "id": 22084,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "commonType": {
                                    "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                                    "typeString": "enum Witnet.RadonReducerOpcodes"
                                  },
                                  "id": 22077,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "expression": {
                                      "id": 22072,
                                      "name": "reducer",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 22069,
                                      "src": "14895:7:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_RadonReducer_$16460_memory_ptr",
                                        "typeString": "struct Witnet.RadonReducer memory"
                                      }
                                    },
                                    "id": 22073,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "14903:6:67",
                                    "memberName": "opcode",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 16455,
                                    "src": "14895:14:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                                      "typeString": "enum Witnet.RadonReducerOpcodes"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "==",
                                  "rightExpression": {
                                    "expression": {
                                      "expression": {
                                        "id": 22074,
                                        "name": "Witnet",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 17557,
                                        "src": "14913:6:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                          "typeString": "type(library Witnet)"
                                        }
                                      },
                                      "id": 22075,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "14920:19:67",
                                      "memberName": "RadonReducerOpcodes",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 16474,
                                      "src": "14913:26:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_enum$_RadonReducerOpcodes_$16474_$",
                                        "typeString": "type(enum Witnet.RadonReducerOpcodes)"
                                      }
                                    },
                                    "id": 22076,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "14940:11:67",
                                    "memberName": "AverageMean",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 16465,
                                    "src": "14913:38:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                                      "typeString": "enum Witnet.RadonReducerOpcodes"
                                    }
                                  },
                                  "src": "14895:56:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "||",
                                "rightExpression": {
                                  "commonType": {
                                    "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                                    "typeString": "enum Witnet.RadonReducerOpcodes"
                                  },
                                  "id": 22083,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "expression": {
                                      "id": 22078,
                                      "name": "reducer",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 22069,
                                      "src": "14977:7:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_RadonReducer_$16460_memory_ptr",
                                        "typeString": "struct Witnet.RadonReducer memory"
                                      }
                                    },
                                    "id": 22079,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "14985:6:67",
                                    "memberName": "opcode",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 16455,
                                    "src": "14977:14:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                                      "typeString": "enum Witnet.RadonReducerOpcodes"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "==",
                                  "rightExpression": {
                                    "expression": {
                                      "expression": {
                                        "id": 22080,
                                        "name": "Witnet",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 17557,
                                        "src": "14995:6:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                          "typeString": "type(library Witnet)"
                                        }
                                      },
                                      "id": 22081,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "15002:19:67",
                                      "memberName": "RadonReducerOpcodes",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 16474,
                                      "src": "14995:26:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_enum$_RadonReducerOpcodes_$16474_$",
                                        "typeString": "type(enum Witnet.RadonReducerOpcodes)"
                                      }
                                    },
                                    "id": 22082,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "15022:17:67",
                                    "memberName": "StandardDeviation",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 16469,
                                    "src": "14995:44:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                                      "typeString": "enum Witnet.RadonReducerOpcodes"
                                    }
                                  },
                                  "src": "14977:62:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "src": "14895:144:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "||",
                              "rightExpression": {
                                "commonType": {
                                  "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                                  "typeString": "enum Witnet.RadonReducerOpcodes"
                                },
                                "id": 22090,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "expression": {
                                    "id": 22085,
                                    "name": "reducer",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 22069,
                                    "src": "15064:7:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_RadonReducer_$16460_memory_ptr",
                                      "typeString": "struct Witnet.RadonReducer memory"
                                    }
                                  },
                                  "id": 22086,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "15072:6:67",
                                  "memberName": "opcode",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 16455,
                                  "src": "15064:14:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                                    "typeString": "enum Witnet.RadonReducerOpcodes"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "==",
                                "rightExpression": {
                                  "expression": {
                                    "expression": {
                                      "id": 22087,
                                      "name": "Witnet",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 17557,
                                      "src": "15082:6:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                        "typeString": "type(library Witnet)"
                                      }
                                    },
                                    "id": 22088,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "15089:19:67",
                                    "memberName": "RadonReducerOpcodes",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 16474,
                                    "src": "15082:26:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_enum$_RadonReducerOpcodes_$16474_$",
                                      "typeString": "type(enum Witnet.RadonReducerOpcodes)"
                                    }
                                  },
                                  "id": 22089,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "15109:4:67",
                                  "memberName": "Mode",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 16464,
                                  "src": "15082:31:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                                    "typeString": "enum Witnet.RadonReducerOpcodes"
                                  }
                                },
                                "src": "15064:49:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "src": "14895:218:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "||",
                            "rightExpression": {
                              "commonType": {
                                "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                                "typeString": "enum Witnet.RadonReducerOpcodes"
                              },
                              "id": 22097,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "expression": {
                                  "id": 22092,
                                  "name": "reducer",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 22069,
                                  "src": "15138:7:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RadonReducer_$16460_memory_ptr",
                                    "typeString": "struct Witnet.RadonReducer memory"
                                  }
                                },
                                "id": 22093,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "15146:6:67",
                                "memberName": "opcode",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16455,
                                "src": "15138:14:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                                  "typeString": "enum Witnet.RadonReducerOpcodes"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "==",
                              "rightExpression": {
                                "expression": {
                                  "expression": {
                                    "id": 22094,
                                    "name": "Witnet",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 17557,
                                    "src": "15156:6:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                      "typeString": "type(library Witnet)"
                                    }
                                  },
                                  "id": 22095,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "15163:19:67",
                                  "memberName": "RadonReducerOpcodes",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 16474,
                                  "src": "15156:26:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_RadonReducerOpcodes_$16474_$",
                                    "typeString": "type(enum Witnet.RadonReducerOpcodes)"
                                  }
                                },
                                "id": 22096,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "15183:18:67",
                                "memberName": "ConcatenateAndHash",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16473,
                                "src": "15156:45:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                                  "typeString": "enum Witnet.RadonReducerOpcodes"
                                }
                              },
                              "src": "15138:63:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "src": "14895:306:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "||",
                          "rightExpression": {
                            "commonType": {
                              "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                              "typeString": "enum Witnet.RadonReducerOpcodes"
                            },
                            "id": 22104,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "expression": {
                                "id": 22099,
                                "name": "reducer",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 22069,
                                "src": "15226:7:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RadonReducer_$16460_memory_ptr",
                                  "typeString": "struct Witnet.RadonReducer memory"
                                }
                              },
                              "id": 22100,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "15234:6:67",
                              "memberName": "opcode",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16455,
                              "src": "15226:14:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                                "typeString": "enum Witnet.RadonReducerOpcodes"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "==",
                            "rightExpression": {
                              "expression": {
                                "expression": {
                                  "id": 22101,
                                  "name": "Witnet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 17557,
                                  "src": "15244:6:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                    "typeString": "type(library Witnet)"
                                  }
                                },
                                "id": 22102,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "15251:19:67",
                                "memberName": "RadonReducerOpcodes",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16474,
                                "src": "15244:26:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_RadonReducerOpcodes_$16474_$",
                                  "typeString": "type(enum Witnet.RadonReducerOpcodes)"
                                }
                              },
                              "id": 22103,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "15271:13:67",
                              "memberName": "AverageMedian",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16467,
                              "src": "15244:40:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                                "typeString": "enum Witnet.RadonReducerOpcodes"
                              }
                            },
                            "src": "15226:58:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "14895:389:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        }
                      ],
                      "id": 22106,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "14876:423:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 22117,
                  "nodeType": "IfStatement",
                  "src": "14871:524:67",
                  "trueBody": {
                    "id": 22116,
                    "nodeType": "Block",
                    "src": "15301:94:67",
                    "statements": [
                      {
                        "errorCall": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "expression": {
                                    "id": 22111,
                                    "name": "reducer",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 22069,
                                    "src": "15363:7:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_RadonReducer_$16460_memory_ptr",
                                      "typeString": "struct Witnet.RadonReducer memory"
                                    }
                                  },
                                  "id": 22112,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "15371:6:67",
                                  "memberName": "opcode",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 16455,
                                  "src": "15363:14:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                                    "typeString": "enum Witnet.RadonReducerOpcodes"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_enum$_RadonReducerOpcodes_$16474",
                                    "typeString": "enum Witnet.RadonReducerOpcodes"
                                  }
                                ],
                                "id": 22110,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "15357:5:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_uint8_$",
                                  "typeString": "type(uint8)"
                                },
                                "typeName": {
                                  "id": 22109,
                                  "name": "uint8",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "15357:5:67",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 22113,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "15357:21:67",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint8",
                                "typeString": "uint8"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint8",
                                "typeString": "uint8"
                              }
                            ],
                            "id": 22108,
                            "name": "UnsupportedRadonReducerOpcode",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20787,
                            "src": "15327:29:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_error_pure$_t_uint8_$returns$__$",
                              "typeString": "function (uint8) pure"
                            }
                          },
                          "id": 22114,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "15327:52:67",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 22115,
                        "nodeType": "RevertStatement",
                        "src": "15320:59:67"
                      }
                    ]
                  }
                },
                {
                  "body": {
                    "id": 22137,
                    "nodeType": "Block",
                    "src": "15463:64:67",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "baseExpression": {
                                "expression": {
                                  "id": 22131,
                                  "name": "reducer",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 22069,
                                  "src": "15491:7:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RadonReducer_$16460_memory_ptr",
                                    "typeString": "struct Witnet.RadonReducer memory"
                                  }
                                },
                                "id": 22132,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "15499:7:67",
                                "memberName": "filters",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16459,
                                "src": "15491:15:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_RadonFilter_$16439_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct Witnet.RadonFilter memory[] memory"
                                }
                              },
                              "id": 22134,
                              "indexExpression": {
                                "id": 22133,
                                "name": "ix",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 22119,
                                "src": "15507:2:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "15491:19:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RadonFilter_$16439_memory_ptr",
                                "typeString": "struct Witnet.RadonFilter memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_struct$_RadonFilter_$16439_memory_ptr",
                                "typeString": "struct Witnet.RadonFilter memory"
                              }
                            ],
                            "id": 22130,
                            "name": "validate",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              21909,
                              22000,
                              22066,
                              22140,
                              22215
                            ],
                            "referencedDeclaration": 22066,
                            "src": "15482:8:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_struct$_RadonFilter_$16439_memory_ptr_$returns$__$",
                              "typeString": "function (struct Witnet.RadonFilter memory) pure"
                            }
                          },
                          "id": 22135,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "15482:29:67",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 22136,
                        "nodeType": "ExpressionStatement",
                        "src": "15482:29:67"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 22126,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 22122,
                      "name": "ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22119,
                      "src": "15427:2:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 22123,
                          "name": "reducer",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 22069,
                          "src": "15432:7:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RadonReducer_$16460_memory_ptr",
                            "typeString": "struct Witnet.RadonReducer memory"
                          }
                        },
                        "id": 22124,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "15440:7:67",
                        "memberName": "filters",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16459,
                        "src": "15432:15:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_RadonFilter_$16439_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct Witnet.RadonFilter memory[] memory"
                        }
                      },
                      "id": 22125,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "15448:6:67",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "15432:22:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "15427:27:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 22138,
                  "initializationExpression": {
                    "assignments": [
                      22119
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 22119,
                        "mutability": "mutable",
                        "name": "ix",
                        "nameLocation": "15419:2:67",
                        "nodeType": "VariableDeclaration",
                        "scope": 22138,
                        "src": "15414:7:67",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 22118,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "15414:4:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 22121,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 22120,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "15424:1:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "15414:11:67"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 22128,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "15456:5:67",
                      "subExpression": {
                        "id": 22127,
                        "name": "ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22119,
                        "src": "15456:2:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 22129,
                    "nodeType": "ExpressionStatement",
                    "src": "15456:5:67"
                  },
                  "nodeType": "ForStatement",
                  "src": "15409:118:67"
                }
              ]
            },
            "functionSelector": "daf4b0ef",
            "id": 22140,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "validate",
            "nameLocation": "14739:8:67",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22070,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22069,
                  "mutability": "mutable",
                  "name": "reducer",
                  "nameLocation": "14775:7:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 22140,
                  "src": "14748:34:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonReducer_$16460_memory_ptr",
                    "typeString": "struct Witnet.RadonReducer"
                  },
                  "typeName": {
                    "id": 22068,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22067,
                      "name": "Witnet.RadonReducer",
                      "nameLocations": [
                        "14748:6:67",
                        "14755:12:67"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16460,
                      "src": "14748:19:67"
                    },
                    "referencedDeclaration": 16460,
                    "src": "14748:19:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonReducer_$16460_storage_ptr",
                      "typeString": "struct Witnet.RadonReducer"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14747:36:67"
            },
            "returnParameters": {
              "id": 22071,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "14810:0:67"
            },
            "scope": 22450,
            "src": "14730:1134:67",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 22214,
              "nodeType": "Block",
              "src": "15944:890:67",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    },
                    "id": 22149,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 22146,
                        "name": "sla",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22143,
                        "src": "15959:3:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RadonSLA_$16519_memory_ptr",
                          "typeString": "struct Witnet.RadonSLA memory"
                        }
                      },
                      "id": 22147,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "15963:13:67",
                      "memberName": "witnessReward",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 16514,
                      "src": "15959:17:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint64",
                        "typeString": "uint64"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 22148,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "15980:1:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "15959:22:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 22155,
                  "nodeType": "IfStatement",
                  "src": "15955:106:67",
                  "trueBody": {
                    "id": 22154,
                    "nodeType": "Block",
                    "src": "15983:78:67",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "hexValue": "5769746e6574456e636f64696e674c69623a20696e76616c696420534c413a206e6f20726577617264",
                              "id": 22151,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "16005:43:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_d5aaf5f96cb3989607204c167e3ad1fc3d9441c2aebac45df70a4561eb9f58ea",
                                "typeString": "literal_string \"WitnetEncodingLib: invalid SLA: no reward\""
                              },
                              "value": "WitnetEncodingLib: invalid SLA: no reward"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_d5aaf5f96cb3989607204c167e3ad1fc3d9441c2aebac45df70a4561eb9f58ea",
                                "typeString": "literal_string \"WitnetEncodingLib: invalid SLA: no reward\""
                              }
                            ],
                            "id": 22150,
                            "name": "revert",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4294967277,
                              4294967277
                            ],
                            "referencedDeclaration": 4294967277,
                            "src": "15998:6:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (string memory) pure"
                            }
                          },
                          "id": 22152,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "15998:51:67",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 22153,
                        "nodeType": "ExpressionStatement",
                        "src": "15998:51:67"
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    },
                    "id": 22159,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 22156,
                        "name": "sla",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22143,
                        "src": "16075:3:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RadonSLA_$16519_memory_ptr",
                          "typeString": "struct Witnet.RadonSLA memory"
                        }
                      },
                      "id": 22157,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "16079:12:67",
                      "memberName": "numWitnesses",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 16510,
                      "src": "16075:16:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 22158,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "16095:1:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "16075:21:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      },
                      "id": 22168,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 22165,
                          "name": "sla",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 22143,
                          "src": "16189:3:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RadonSLA_$16519_memory_ptr",
                            "typeString": "struct Witnet.RadonSLA memory"
                          }
                        },
                        "id": 22166,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "16193:12:67",
                        "memberName": "numWitnesses",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16510,
                        "src": "16189:16:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": ">",
                      "rightExpression": {
                        "hexValue": "313237",
                        "id": 22167,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "16208:3:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_127_by_1",
                          "typeString": "int_const 127"
                        },
                        "value": "127"
                      },
                      "src": "16189:22:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "id": 22174,
                    "nodeType": "IfStatement",
                    "src": "16185:122:67",
                    "trueBody": {
                      "id": 22173,
                      "nodeType": "Block",
                      "src": "16213:94:67",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "hexValue": "5769746e6574456e636f64696e674c69623a20696e76616c696420534c413a20746f6f206d616e79207769746e657373657320283e31323729",
                                "id": 22170,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "16235:59:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_0f64ac4354fc3ee9b0093934216b56757a203750eebaa36bfbdeaab5dee02abd",
                                  "typeString": "literal_string \"WitnetEncodingLib: invalid SLA: too many witnesses (>127)\""
                                },
                                "value": "WitnetEncodingLib: invalid SLA: too many witnesses (>127)"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_stringliteral_0f64ac4354fc3ee9b0093934216b56757a203750eebaa36bfbdeaab5dee02abd",
                                  "typeString": "literal_string \"WitnetEncodingLib: invalid SLA: too many witnesses (>127)\""
                                }
                              ],
                              "id": 22169,
                              "name": "revert",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                4294967277,
                                4294967277
                              ],
                              "referencedDeclaration": 4294967277,
                              "src": "16228:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                                "typeString": "function (string memory) pure"
                              }
                            },
                            "id": 22171,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "16228:67:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 22172,
                          "nodeType": "ExpressionStatement",
                          "src": "16228:67:67"
                        }
                      ]
                    }
                  },
                  "id": 22175,
                  "nodeType": "IfStatement",
                  "src": "16071:236:67",
                  "trueBody": {
                    "id": 22164,
                    "nodeType": "Block",
                    "src": "16098:81:67",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "hexValue": "5769746e6574456e636f64696e674c69623a20696e76616c696420534c413a206e6f207769746e6573736573",
                              "id": 22161,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "16120:46:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_4ad1a34e9a1a42f1c08146454c8f85771db21b33e79a33ae9b2284649fd4bd0a",
                                "typeString": "literal_string \"WitnetEncodingLib: invalid SLA: no witnesses\""
                              },
                              "value": "WitnetEncodingLib: invalid SLA: no witnesses"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_4ad1a34e9a1a42f1c08146454c8f85771db21b33e79a33ae9b2284649fd4bd0a",
                                "typeString": "literal_string \"WitnetEncodingLib: invalid SLA: no witnesses\""
                              }
                            ],
                            "id": 22160,
                            "name": "revert",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4294967277,
                              4294967277
                            ],
                            "referencedDeclaration": 4294967277,
                            "src": "16113:6:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (string memory) pure"
                            }
                          },
                          "id": 22162,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "16113:54:67",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 22163,
                        "nodeType": "ExpressionStatement",
                        "src": "16113:54:67"
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 22184,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      },
                      "id": 22179,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 22176,
                          "name": "sla",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 22143,
                          "src": "16335:3:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RadonSLA_$16519_memory_ptr",
                            "typeString": "struct Witnet.RadonSLA memory"
                          }
                        },
                        "id": 22177,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "16339:22:67",
                        "memberName": "minConsensusPercentage",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16512,
                        "src": "16335:26:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "<",
                      "rightExpression": {
                        "hexValue": "3531",
                        "id": 22178,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "16364:2:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_51_by_1",
                          "typeString": "int_const 51"
                        },
                        "value": "51"
                      },
                      "src": "16335:31:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      },
                      "id": 22183,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 22180,
                          "name": "sla",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 22143,
                          "src": "16388:3:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RadonSLA_$16519_memory_ptr",
                            "typeString": "struct Witnet.RadonSLA memory"
                          }
                        },
                        "id": 22181,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "16392:22:67",
                        "memberName": "minConsensusPercentage",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16512,
                        "src": "16388:26:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": ">",
                      "rightExpression": {
                        "hexValue": "3939",
                        "id": 22182,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "16417:2:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_99_by_1",
                          "typeString": "int_const 99"
                        },
                        "value": "99"
                      },
                      "src": "16388:31:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "16335:84:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 22190,
                  "nodeType": "IfStatement",
                  "src": "16317:216:67",
                  "trueBody": {
                    "id": 22189,
                    "nodeType": "Block",
                    "src": "16431:102:67",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "hexValue": "5769746e6574456e636f64696e674c69623a20696e76616c696420534c413a20636f6e73656e7375732070657263656e74616765206f7574206f662072616e6765",
                              "id": 22186,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "16453:67:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_3c485ab42b687f826f0ccc3ea30e0db39d176b9d12684a96f566c83dbc4a9098",
                                "typeString": "literal_string \"WitnetEncodingLib: invalid SLA: consensus percentage out of range\""
                              },
                              "value": "WitnetEncodingLib: invalid SLA: consensus percentage out of range"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_3c485ab42b687f826f0ccc3ea30e0db39d176b9d12684a96f566c83dbc4a9098",
                                "typeString": "literal_string \"WitnetEncodingLib: invalid SLA: consensus percentage out of range\""
                              }
                            ],
                            "id": 22185,
                            "name": "revert",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4294967277,
                              4294967277
                            ],
                            "referencedDeclaration": 4294967277,
                            "src": "16446:6:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (string memory) pure"
                            }
                          },
                          "id": 22187,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "16446:75:67",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 22188,
                        "nodeType": "ExpressionStatement",
                        "src": "16446:75:67"
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    },
                    "id": 22194,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 22191,
                        "name": "sla",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22143,
                        "src": "16547:3:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RadonSLA_$16519_memory_ptr",
                          "typeString": "struct Witnet.RadonSLA memory"
                        }
                      },
                      "id": 22192,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "16551:17:67",
                      "memberName": "witnessCollateral",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 16516,
                      "src": "16547:21:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint64",
                        "typeString": "uint64"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 22193,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "16571:1:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "16547:25:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 22200,
                  "nodeType": "IfStatement",
                  "src": "16543:113:67",
                  "trueBody": {
                    "id": 22199,
                    "nodeType": "Block",
                    "src": "16574:82:67",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "hexValue": "5769746e6574456e636f64696e674c69623a20696e76616c696420534c413a206e6f20636f6c6c61746572616c",
                              "id": 22196,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "16596:47:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_eba0b4c426190ab49b8ae13e67660278506cf46123ea7a68bd88143bb4fadcc9",
                                "typeString": "literal_string \"WitnetEncodingLib: invalid SLA: no collateral\""
                              },
                              "value": "WitnetEncodingLib: invalid SLA: no collateral"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_eba0b4c426190ab49b8ae13e67660278506cf46123ea7a68bd88143bb4fadcc9",
                                "typeString": "literal_string \"WitnetEncodingLib: invalid SLA: no collateral\""
                              }
                            ],
                            "id": 22195,
                            "name": "revert",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4294967277,
                              4294967277
                            ],
                            "referencedDeclaration": 4294967277,
                            "src": "16589:6:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (string memory) pure"
                            }
                          },
                          "id": 22197,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "16589:55:67",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 22198,
                        "nodeType": "ExpressionStatement",
                        "src": "16589:55:67"
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    },
                    "id": 22207,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint64",
                        "typeString": "uint64"
                      },
                      "id": 22205,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 22201,
                          "name": "sla",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 22143,
                          "src": "16670:3:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RadonSLA_$16519_memory_ptr",
                            "typeString": "struct Witnet.RadonSLA memory"
                          }
                        },
                        "id": 22202,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "16674:17:67",
                        "memberName": "witnessCollateral",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16516,
                        "src": "16670:21:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "/",
                      "rightExpression": {
                        "expression": {
                          "id": 22203,
                          "name": "sla",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 22143,
                          "src": "16694:3:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RadonSLA_$16519_memory_ptr",
                            "typeString": "struct Witnet.RadonSLA memory"
                          }
                        },
                        "id": 22204,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "16698:13:67",
                        "memberName": "witnessReward",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16514,
                        "src": "16694:17:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      "src": "16670:41:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint64",
                        "typeString": "uint64"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "hexValue": "313237",
                      "id": 22206,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "16714:3:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_127_by_1",
                        "typeString": "int_const 127"
                      },
                      "value": "127"
                    },
                    "src": "16670:47:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 22213,
                  "nodeType": "IfStatement",
                  "src": "16666:161:67",
                  "trueBody": {
                    "id": 22212,
                    "nodeType": "Block",
                    "src": "16719:108:67",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "hexValue": "5769746e6574456e636f64696e674c69623a20696e76616c696420534c413a20636f6c6c61746572616c2f72657761726420726174696f20746f6f206869676820283e31323729",
                              "id": 22209,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "16741:73:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_c0c2d766eb577ea84b75f9fcb7c5378cb72bf766ceaac2e9f8dfcb263b607bcd",
                                "typeString": "literal_string \"WitnetEncodingLib: invalid SLA: collateral/reward ratio too high (>127)\""
                              },
                              "value": "WitnetEncodingLib: invalid SLA: collateral/reward ratio too high (>127)"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_c0c2d766eb577ea84b75f9fcb7c5378cb72bf766ceaac2e9f8dfcb263b607bcd",
                                "typeString": "literal_string \"WitnetEncodingLib: invalid SLA: collateral/reward ratio too high (>127)\""
                              }
                            ],
                            "id": 22208,
                            "name": "revert",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4294967277,
                              4294967277
                            ],
                            "referencedDeclaration": 4294967277,
                            "src": "16734:6:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (string memory) pure"
                            }
                          },
                          "id": 22210,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "16734:81:67",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 22211,
                        "nodeType": "ExpressionStatement",
                        "src": "16734:81:67"
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "2461ccf3",
            "id": 22215,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "validate",
            "nameLocation": "15881:8:67",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22144,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22143,
                  "mutability": "mutable",
                  "name": "sla",
                  "nameLocation": "15913:3:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 22215,
                  "src": "15890:26:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonSLA_$16519_memory_ptr",
                    "typeString": "struct Witnet.RadonSLA"
                  },
                  "typeName": {
                    "id": 22142,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22141,
                      "name": "Witnet.RadonSLA",
                      "nameLocations": [
                        "15890:6:67",
                        "15897:8:67"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16519,
                      "src": "15890:15:67"
                    },
                    "referencedDeclaration": 16519,
                    "src": "15890:15:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLA_$16519_storage_ptr",
                      "typeString": "struct Witnet.RadonSLA"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15889:28:67"
            },
            "returnParameters": {
              "id": 22145,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "15944:0:67"
            },
            "scope": 22450,
            "src": "15872:962:67",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 22231,
              "nodeType": "Block",
              "src": "16971:132:67",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 22226,
                            "name": "script",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22217,
                            "src": "17057:6:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "expression": {
                            "id": 22224,
                            "name": "WitnetCBOR",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20734,
                            "src": "17036:10:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_WitnetCBOR_$20734_$",
                              "typeString": "type(library WitnetCBOR)"
                            }
                          },
                          "id": 22225,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "17047:9:67",
                          "memberName": "fromBytes",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 19359,
                          "src": "17036:20:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_struct$_CBOR_$19218_memory_ptr_$",
                            "typeString": "function (bytes memory) pure returns (struct WitnetCBOR.CBOR memory)"
                          }
                        },
                        "id": 22227,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "17036:28:67",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                          "typeString": "struct WitnetCBOR.CBOR memory"
                        }
                      },
                      {
                        "hexValue": "66616c7365",
                        "id": 22228,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "17079:5:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "false"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                          "typeString": "struct WitnetCBOR.CBOR memory"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 22223,
                      "name": "_verifyRadonScriptResultDataType",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22449,
                      "src": "16989:32:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$_t_bool_$returns$_t_enum$_RadonDataTypes_$16432_$",
                        "typeString": "function (struct WitnetCBOR.CBOR memory,bool) pure returns (enum Witnet.RadonDataTypes)"
                      }
                    },
                    "id": 22229,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16989:106:67",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                      "typeString": "enum Witnet.RadonDataTypes"
                    }
                  },
                  "functionReturnParameters": 22222,
                  "id": 22230,
                  "nodeType": "Return",
                  "src": "16982:113:67"
                }
              ]
            },
            "functionSelector": "f3106f78",
            "id": 22232,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "verifyRadonScriptResultDataType",
            "nameLocation": "16851:31:67",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22218,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22217,
                  "mutability": "mutable",
                  "name": "script",
                  "nameLocation": "16896:6:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 22232,
                  "src": "16883:19:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 22216,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "16883:5:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16882:21:67"
            },
            "returnParameters": {
              "id": 22222,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22221,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22232,
                  "src": "16943:21:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                    "typeString": "enum Witnet.RadonDataTypes"
                  },
                  "typeName": {
                    "id": 22220,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22219,
                      "name": "Witnet.RadonDataTypes",
                      "nameLocations": [
                        "16943:6:67",
                        "16950:14:67"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16432,
                      "src": "16943:21:67"
                    },
                    "referencedDeclaration": 16432,
                    "src": "16943:21:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                      "typeString": "enum Witnet.RadonDataTypes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16942:23:67"
            },
            "scope": 22450,
            "src": "16842:261:67",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 22317,
              "nodeType": "Block",
              "src": "17502:573:67",
              "statements": [
                {
                  "assignments": [
                    22243
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 22243,
                      "mutability": "mutable",
                      "name": "_rewind",
                      "nameLocation": "17518:7:67",
                      "nodeType": "VariableDeclaration",
                      "scope": 22317,
                      "src": "17513:12:67",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 22242,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "17513:4:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 22246,
                  "initialValue": {
                    "expression": {
                      "id": 22244,
                      "name": "self",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22236,
                      "src": "17528:4:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                        "typeString": "struct WitnetCBOR.CBOR memory"
                      }
                    },
                    "id": 22245,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "17533:3:67",
                    "memberName": "len",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 19215,
                    "src": "17528:8:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "17513:23:67"
                },
                {
                  "assignments": [
                    22248
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 22248,
                      "mutability": "mutable",
                      "name": "_start",
                      "nameLocation": "17552:6:67",
                      "nodeType": "VariableDeclaration",
                      "scope": 22317,
                      "src": "17547:11:67",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 22247,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "17547:4:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 22252,
                  "initialValue": {
                    "expression": {
                      "expression": {
                        "id": 22249,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22236,
                        "src": "17561:4:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                          "typeString": "struct WitnetCBOR.CBOR memory"
                        }
                      },
                      "id": 22250,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "17566:6:67",
                      "memberName": "buffer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 19207,
                      "src": "17561:11:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Buffer_$17580_memory_ptr",
                        "typeString": "struct WitnetBuffer.Buffer memory"
                      }
                    },
                    "id": 22251,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "17573:6:67",
                    "memberName": "cursor",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 17579,
                    "src": "17561:18:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "17547:32:67"
                },
                {
                  "assignments": [
                    22254
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 22254,
                      "mutability": "mutable",
                      "name": "_peeks",
                      "nameLocation": "17603:6:67",
                      "nodeType": "VariableDeclaration",
                      "scope": 22317,
                      "src": "17590:19:67",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 22253,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "17590:5:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 22261,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "id": 22257,
                            "name": "self",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22236,
                            "src": "17618:4:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                              "typeString": "struct WitnetCBOR.CBOR memory"
                            }
                          },
                          "id": 22258,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "17623:10:67",
                          "memberName": "readString",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 20511,
                          "src": "17618:15:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$returns$_t_string_memory_ptr_$attached_to$_t_struct$_CBOR_$19218_memory_ptr_$",
                            "typeString": "function (struct WitnetCBOR.CBOR memory) pure returns (string memory)"
                          }
                        },
                        "id": 22259,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "17618:17:67",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 22256,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "17612:5:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                        "typeString": "type(bytes storage pointer)"
                      },
                      "typeName": {
                        "id": 22255,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "17612:5:67",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 22260,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "17612:24:67",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "17590:46:67"
                },
                {
                  "assignments": [
                    22263,
                    22265
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 22263,
                      "mutability": "mutable",
                      "name": "_pokes",
                      "nameLocation": "17661:6:67",
                      "nodeType": "VariableDeclaration",
                      "scope": 22317,
                      "src": "17648:19:67",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 22262,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "17648:5:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    },
                    {
                      "constant": false,
                      "id": 22265,
                      "mutability": "mutable",
                      "name": "_replacements",
                      "nameLocation": "17674:13:67",
                      "nodeType": "VariableDeclaration",
                      "scope": 22317,
                      "src": "17669:18:67",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 22264,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "17669:4:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 22271,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 22268,
                        "name": "_peeks",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22254,
                        "src": "17712:6:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "id": 22269,
                        "name": "args",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22239,
                        "src": "17720:4:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                          "typeString": "string memory[] memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                          "typeString": "string memory[] memory"
                        }
                      ],
                      "expression": {
                        "id": 22266,
                        "name": "WitnetBuffer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19191,
                        "src": "17691:12:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitnetBuffer_$19191_$",
                          "typeString": "type(library WitnetBuffer)"
                        }
                      },
                      "id": 22267,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "17704:7:67",
                      "memberName": "replace",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 19062,
                      "src": "17691:20:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$_t_uint256_$",
                        "typeString": "function (bytes memory,string memory[] memory) pure returns (bytes memory,uint256)"
                      }
                    },
                    "id": 22270,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "17691:34:67",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_bytes_memory_ptr_$_t_uint256_$",
                      "typeString": "tuple(bytes memory,uint256)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "17647:78:67"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 22274,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 22272,
                      "name": "_replacements",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22265,
                      "src": "17740:13:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 22273,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "17756:1:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "17740:17:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 22316,
                  "nodeType": "IfStatement",
                  "src": "17736:332:67",
                  "trueBody": {
                    "id": 22315,
                    "nodeType": "Block",
                    "src": "17759:309:67",
                    "statements": [
                      {
                        "assignments": [
                          22276
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 22276,
                            "mutability": "mutable",
                            "name": "_encodedPokes",
                            "nameLocation": "17787:13:67",
                            "nodeType": "VariableDeclaration",
                            "scope": 22315,
                            "src": "17774:26:67",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes"
                            },
                            "typeName": {
                              "id": 22275,
                              "name": "bytes",
                              "nodeType": "ElementaryTypeName",
                              "src": "17774:5:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage_ptr",
                                "typeString": "bytes"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 22283,
                        "initialValue": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "id": 22280,
                                  "name": "_pokes",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 22263,
                                  "src": "17817:6:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                ],
                                "id": 22279,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "17810:6:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                  "typeString": "type(string storage pointer)"
                                },
                                "typeName": {
                                  "id": 22278,
                                  "name": "string",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "17810:6:67",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 22281,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "17810:14:67",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            ],
                            "id": 22277,
                            "name": "encode",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              20981,
                              20996,
                              21014,
                              21108,
                              21381,
                              21477,
                              21524,
                              21593,
                              21613,
                              21681
                            ],
                            "referencedDeclaration": 21014,
                            "src": "17803:6:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function (string memory) pure returns (bytes memory)"
                            }
                          },
                          "id": 22282,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "17803:22:67",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "17774:51:67"
                      },
                      {
                        "expression": {
                          "id": 22292,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "expression": {
                                "id": 22284,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 22236,
                                "src": "17840:4:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                  "typeString": "struct WitnetCBOR.CBOR memory"
                                }
                              },
                              "id": 22287,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "17845:6:67",
                              "memberName": "buffer",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 19207,
                              "src": "17840:11:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Buffer_$17580_memory_ptr",
                                "typeString": "struct WitnetBuffer.Buffer memory"
                              }
                            },
                            "id": 22288,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "17852:6:67",
                            "memberName": "cursor",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 17579,
                            "src": "17840:18:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 22291,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "id": 22289,
                              "name": "_start",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 22248,
                              "src": "17861:6:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "-",
                            "rightExpression": {
                              "id": 22290,
                              "name": "_rewind",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 22243,
                              "src": "17870:7:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "17861:16:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "17840:37:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 22293,
                        "nodeType": "ExpressionStatement",
                        "src": "17840:37:67"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 22302,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "expression": {
                                  "id": 22299,
                                  "name": "_peeks",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 22254,
                                  "src": "17929:6:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                },
                                "id": 22300,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "17936:6:67",
                                "memberName": "length",
                                "nodeType": "MemberAccess",
                                "src": "17929:13:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "+",
                              "rightExpression": {
                                "id": 22301,
                                "name": "_rewind",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 22243,
                                "src": "17945:7:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "17929:23:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "id": 22303,
                              "name": "_encodedPokes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 22276,
                              "src": "17971:13:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "id": 22294,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 22236,
                                "src": "17892:4:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                  "typeString": "struct WitnetCBOR.CBOR memory"
                                }
                              },
                              "id": 22297,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "17897:6:67",
                              "memberName": "buffer",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 19207,
                              "src": "17892:11:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Buffer_$17580_memory_ptr",
                                "typeString": "struct WitnetBuffer.Buffer memory"
                              }
                            },
                            "id": 22298,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "17904:6:67",
                            "memberName": "mutate",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 17742,
                            "src": "17892:18:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_struct$_Buffer_$17580_memory_ptr_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$attached_to$_t_struct$_Buffer_$17580_memory_ptr_$",
                              "typeString": "function (struct WitnetBuffer.Buffer memory,uint256,bytes memory) pure"
                            }
                          },
                          "id": 22304,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "17892:107:67",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 22305,
                        "nodeType": "ExpressionStatement",
                        "src": "17892:107:67"
                      },
                      {
                        "expression": {
                          "id": 22313,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "expression": {
                                "id": 22306,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 22236,
                                "src": "18014:4:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                  "typeString": "struct WitnetCBOR.CBOR memory"
                                }
                              },
                              "id": 22309,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "18019:6:67",
                              "memberName": "buffer",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 19207,
                              "src": "18014:11:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Buffer_$17580_memory_ptr",
                                "typeString": "struct WitnetBuffer.Buffer memory"
                              }
                            },
                            "id": 22310,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "18026:6:67",
                            "memberName": "cursor",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 17579,
                            "src": "18014:18:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "+=",
                          "rightHandSide": {
                            "expression": {
                              "id": 22311,
                              "name": "_encodedPokes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 22276,
                              "src": "18036:13:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            },
                            "id": 22312,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "18050:6:67",
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "src": "18036:20:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "18014:42:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 22314,
                        "nodeType": "ExpressionStatement",
                        "src": "18014:42:67"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": {
              "id": 22233,
              "nodeType": "StructuredDocumentation",
              "src": "17113:246:67",
              "text": "===============================================================================================================\n --- WitnetEncodingLib private methods ---------------------------------------------------------------------------------"
            },
            "id": 22318,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_replaceCborWildcards",
            "nameLocation": "17374:21:67",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22240,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22236,
                  "mutability": "mutable",
                  "name": "self",
                  "nameLocation": "17433:4:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 22318,
                  "src": "17410:27:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                    "typeString": "struct WitnetCBOR.CBOR"
                  },
                  "typeName": {
                    "id": 22235,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22234,
                      "name": "WitnetCBOR.CBOR",
                      "nameLocations": [
                        "17410:10:67",
                        "17421:4:67"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 19218,
                      "src": "17410:15:67"
                    },
                    "referencedDeclaration": 19218,
                    "src": "17410:15:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_CBOR_$19218_storage_ptr",
                      "typeString": "struct WitnetCBOR.CBOR"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22239,
                  "mutability": "mutable",
                  "name": "args",
                  "nameLocation": "17468:4:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 22318,
                  "src": "17452:20:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                    "typeString": "string[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 22237,
                      "name": "string",
                      "nodeType": "ElementaryTypeName",
                      "src": "17452:6:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage_ptr",
                        "typeString": "string"
                      }
                    },
                    "id": 22238,
                    "nodeType": "ArrayTypeName",
                    "src": "17452:8:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                      "typeString": "string[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "17395:88:67"
            },
            "returnParameters": {
              "id": 22241,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "17502:0:67"
            },
            "scope": 22450,
            "src": "17365:710:67",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "private"
          },
          {
            "body": {
              "id": 22448,
              "nodeType": "Block",
              "src": "18239:1314:67",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    },
                    "id": 22333,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 22329,
                        "name": "self",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22321,
                        "src": "18254:4:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                          "typeString": "struct WitnetCBOR.CBOR memory"
                        }
                      },
                      "id": 22330,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "18259:9:67",
                      "memberName": "majorType",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 19211,
                      "src": "18254:14:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "id": 22331,
                        "name": "WitnetCBOR",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20734,
                        "src": "18272:10:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_WitnetCBOR_$20734_$",
                          "typeString": "type(library WitnetCBOR)"
                        }
                      },
                      "id": 22332,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "18283:16:67",
                      "memberName": "MAJOR_TYPE_ARRAY",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 19233,
                      "src": "18272:27:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      }
                    },
                    "src": "18254:45:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      },
                      "id": 22378,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 22374,
                          "name": "self",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 22321,
                          "src": "18720:4:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                            "typeString": "struct WitnetCBOR.CBOR memory"
                          }
                        },
                        "id": 22375,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "18725:9:67",
                        "memberName": "majorType",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 19211,
                        "src": "18720:14:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "id": 22376,
                          "name": "WitnetCBOR",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 20734,
                          "src": "18738:10:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitnetCBOR_$20734_$",
                            "typeString": "type(library WitnetCBOR)"
                          }
                        },
                        "id": 22377,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "18749:14:67",
                        "memberName": "MAJOR_TYPE_INT",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 19221,
                        "src": "18738:25:67",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      "src": "18720:43:67",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "id": 22445,
                      "nodeType": "Block",
                      "src": "19390:156:67",
                      "statements": [
                        {
                          "errorCall": {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 22439,
                                  "name": "WitnetCBOR",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 20734,
                                  "src": "19461:10:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_WitnetCBOR_$20734_$",
                                    "typeString": "type(library WitnetCBOR)"
                                  }
                                },
                                "id": 22440,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "19472:14:67",
                                "memberName": "MAJOR_TYPE_INT",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 19221,
                                "src": "19461:25:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint8",
                                  "typeString": "uint8"
                                }
                              },
                              {
                                "expression": {
                                  "id": 22441,
                                  "name": "self",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 22321,
                                  "src": "19505:4:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                    "typeString": "struct WitnetCBOR.CBOR memory"
                                  }
                                },
                                "id": 22442,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "19510:9:67",
                                "memberName": "majorType",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 19211,
                                "src": "19505:14:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint8",
                                  "typeString": "uint8"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint8",
                                  "typeString": "uint8"
                                },
                                {
                                  "typeIdentifier": "t_uint8",
                                  "typeString": "uint8"
                                }
                              ],
                              "expression": {
                                "id": 22436,
                                "name": "WitnetCBOR",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 20734,
                                "src": "19412:10:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_WitnetCBOR_$20734_$",
                                  "typeString": "type(library WitnetCBOR)"
                                }
                              },
                              "id": 22438,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "19423:19:67",
                              "memberName": "UnexpectedMajorType",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 19268,
                              "src": "19412:30:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$",
                                "typeString": "function (uint256,uint256) pure"
                              }
                            },
                            "id": 22443,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "19412:122:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 22444,
                          "nodeType": "RevertStatement",
                          "src": "19405:129:67"
                        }
                      ]
                    },
                    "id": 22446,
                    "nodeType": "IfStatement",
                    "src": "18716:830:67",
                    "trueBody": {
                      "id": 22435,
                      "nodeType": "Block",
                      "src": "18765:619:67",
                      "statements": [
                        {
                          "assignments": [
                            22380
                          ],
                          "declarations": [
                            {
                              "constant": false,
                              "id": 22380,
                              "mutability": "mutable",
                              "name": "cursor",
                              "nameLocation": "18797:6:67",
                              "nodeType": "VariableDeclaration",
                              "scope": 22435,
                              "src": "18792:11:67",
                              "stateVariable": false,
                              "storageLocation": "default",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "typeName": {
                                "id": 22379,
                                "name": "uint",
                                "nodeType": "ElementaryTypeName",
                                "src": "18792:4:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "visibility": "internal"
                            }
                          ],
                          "id": 22384,
                          "initialValue": {
                            "expression": {
                              "expression": {
                                "id": 22381,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 22321,
                                "src": "18806:4:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                  "typeString": "struct WitnetCBOR.CBOR memory"
                                }
                              },
                              "id": 22382,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "18811:6:67",
                              "memberName": "buffer",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 19207,
                              "src": "18806:11:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Buffer_$17580_memory_ptr",
                                "typeString": "struct WitnetBuffer.Buffer memory"
                              }
                            },
                            "id": 22383,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "18818:6:67",
                            "memberName": "cursor",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 17579,
                            "src": "18806:18:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "VariableDeclarationStatement",
                          "src": "18792:32:67"
                        },
                        {
                          "assignments": [
                            22386
                          ],
                          "declarations": [
                            {
                              "constant": false,
                              "id": 22386,
                              "mutability": "mutable",
                              "name": "opcode",
                              "nameLocation": "18844:6:67",
                              "nodeType": "VariableDeclaration",
                              "scope": 22435,
                              "src": "18839:11:67",
                              "stateVariable": false,
                              "storageLocation": "default",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "typeName": {
                                "id": 22385,
                                "name": "uint",
                                "nodeType": "ElementaryTypeName",
                                "src": "18839:4:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "visibility": "internal"
                            }
                          ],
                          "id": 22390,
                          "initialValue": {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "id": 22387,
                                "name": "self",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 22321,
                                "src": "18853:4:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                  "typeString": "struct WitnetCBOR.CBOR memory"
                                }
                              },
                              "id": 22388,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "18858:8:67",
                              "memberName": "readUint",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 20603,
                              "src": "18853:13:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_CBOR_$19218_memory_ptr_$",
                                "typeString": "function (struct WitnetCBOR.CBOR memory) pure returns (uint256)"
                              }
                            },
                            "id": 22389,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "18853:15:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "VariableDeclarationStatement",
                          "src": "18839:29:67"
                        },
                        {
                          "assignments": [
                            22392
                          ],
                          "declarations": [
                            {
                              "constant": false,
                              "id": 22392,
                              "mutability": "mutable",
                              "name": "dataType",
                              "nameLocation": "18889:8:67",
                              "nodeType": "VariableDeclaration",
                              "scope": 22435,
                              "src": "18883:14:67",
                              "stateVariable": false,
                              "storageLocation": "default",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint8",
                                "typeString": "uint8"
                              },
                              "typeName": {
                                "id": 22391,
                                "name": "uint8",
                                "nodeType": "ElementaryTypeName",
                                "src": "18883:5:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint8",
                                  "typeString": "uint8"
                                }
                              },
                              "visibility": "internal"
                            }
                          ],
                          "id": 22406,
                          "initialValue": {
                            "components": [
                              {
                                "condition": {
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 22396,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "id": 22393,
                                    "name": "opcode",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 22386,
                                    "src": "18901:6:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": ">",
                                  "rightExpression": {
                                    "expression": {
                                      "id": 22394,
                                      "name": "WITNET_RADON_OPCODES_RESULT_TYPES",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 20754,
                                      "src": "18910:33:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    },
                                    "id": 22395,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "18944:6:67",
                                    "memberName": "length",
                                    "nodeType": "MemberAccess",
                                    "src": "18910:40:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "src": "18901:49:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "falseExpression": {
                                  "arguments": [
                                    {
                                      "baseExpression": {
                                        "id": 22400,
                                        "name": "WITNET_RADON_OPCODES_RESULT_TYPES",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 20754,
                                        "src": "19000:33:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      },
                                      "id": 22402,
                                      "indexExpression": {
                                        "id": 22401,
                                        "name": "opcode",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 22386,
                                        "src": "19034:6:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "19000:41:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes1",
                                        "typeString": "bytes1"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes1",
                                        "typeString": "bytes1"
                                      }
                                    ],
                                    "id": 22399,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "18994:5:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_uint8_$",
                                      "typeString": "type(uint8)"
                                    },
                                    "typeName": {
                                      "id": 22398,
                                      "name": "uint8",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "18994:5:67",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 22403,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "18994:48:67",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint8",
                                    "typeString": "uint8"
                                  }
                                },
                                "id": 22404,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "Conditional",
                                "src": "18901:141:67",
                                "trueExpression": {
                                  "hexValue": "30786666",
                                  "id": 22397,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "18970:4:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_255_by_1",
                                    "typeString": "int_const 255"
                                  },
                                  "value": "0xff"
                                },
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint8",
                                  "typeString": "uint8"
                                }
                              }
                            ],
                            "id": 22405,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "18900:157:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            }
                          },
                          "nodeType": "VariableDeclarationStatement",
                          "src": "18883:174:67"
                        },
                        {
                          "condition": {
                            "commonType": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            },
                            "id": 22416,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "id": 22407,
                              "name": "dataType",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 22392,
                              "src": "19076:8:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint8",
                                "typeString": "uint8"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": ">",
                            "rightExpression": {
                              "arguments": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "expression": {
                                          "id": 22411,
                                          "name": "Witnet",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 17557,
                                          "src": "19098:6:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                            "typeString": "type(library Witnet)"
                                          }
                                        },
                                        "id": 22412,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "19105:14:67",
                                        "memberName": "RadonDataTypes",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 16432,
                                        "src": "19098:21:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_enum$_RadonDataTypes_$16432_$",
                                          "typeString": "type(enum Witnet.RadonDataTypes)"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_type$_t_enum$_RadonDataTypes_$16432_$",
                                          "typeString": "type(enum Witnet.RadonDataTypes)"
                                        }
                                      ],
                                      "id": 22410,
                                      "name": "type",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4294967269,
                                      "src": "19093:4:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
                                        "typeString": "function () pure"
                                      }
                                    },
                                    "id": 22413,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "19093:27:67",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_meta_type_t_enum$_RadonDataTypes_$16432",
                                      "typeString": "type(enum Witnet.RadonDataTypes)"
                                    }
                                  },
                                  "id": 22414,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "19121:3:67",
                                  "memberName": "max",
                                  "nodeType": "MemberAccess",
                                  "src": "19093:31:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                                    "typeString": "enum Witnet.RadonDataTypes"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                                    "typeString": "enum Witnet.RadonDataTypes"
                                  }
                                ],
                                "id": 22409,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "19087:5:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_uint8_$",
                                  "typeString": "type(uint8)"
                                },
                                "typeName": {
                                  "id": 22408,
                                  "name": "uint8",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "19087:5:67",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 22415,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "19087:38:67",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint8",
                                "typeString": "uint8"
                              }
                            },
                            "src": "19076:49:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "id": 22429,
                          "nodeType": "IfStatement",
                          "src": "19072:248:67",
                          "trueBody": {
                            "id": 22428,
                            "nodeType": "Block",
                            "src": "19127:193:67",
                            "statements": [
                              {
                                "errorCall": {
                                  "arguments": [
                                    {
                                      "expression": {
                                        "expression": {
                                          "id": 22418,
                                          "name": "self",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 22321,
                                          "src": "19204:4:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                            "typeString": "struct WitnetCBOR.CBOR memory"
                                          }
                                        },
                                        "id": 22419,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "19209:6:67",
                                        "memberName": "buffer",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 19207,
                                        "src": "19204:11:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_Buffer_$17580_memory_ptr",
                                          "typeString": "struct WitnetBuffer.Buffer memory"
                                        }
                                      },
                                      "id": 22420,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "19216:4:67",
                                      "memberName": "data",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 17577,
                                      "src": "19204:16:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    },
                                    {
                                      "id": 22421,
                                      "name": "cursor",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 22380,
                                      "src": "19243:6:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "id": 22424,
                                          "name": "opcode",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 22386,
                                          "src": "19278:6:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        ],
                                        "id": 22423,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "19272:5:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_uint8_$",
                                          "typeString": "type(uint8)"
                                        },
                                        "typeName": {
                                          "id": 22422,
                                          "name": "uint8",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "19272:5:67",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 22425,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "19272:13:67",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint8",
                                        "typeString": "uint8"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      },
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      {
                                        "typeIdentifier": "t_uint8",
                                        "typeString": "uint8"
                                      }
                                    ],
                                    "id": 22417,
                                    "name": "UnsupportedRadonScriptOpcode",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 20809,
                                    "src": "19153:28:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_error_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint8_$returns$__$",
                                      "typeString": "function (bytes memory,uint256,uint8) pure"
                                    }
                                  },
                                  "id": 22426,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "19153:151:67",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_tuple$__$",
                                    "typeString": "tuple()"
                                  }
                                },
                                "id": 22427,
                                "nodeType": "RevertStatement",
                                "src": "19146:158:67"
                              }
                            ]
                          }
                        },
                        {
                          "expression": {
                            "arguments": [
                              {
                                "id": 22432,
                                "name": "dataType",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 22392,
                                "src": "19363:8:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint8",
                                  "typeString": "uint8"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint8",
                                  "typeString": "uint8"
                                }
                              ],
                              "expression": {
                                "id": 22430,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 17557,
                                "src": "19341:6:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 22431,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "19348:14:67",
                              "memberName": "RadonDataTypes",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16432,
                              "src": "19341:21:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_RadonDataTypes_$16432_$",
                                "typeString": "type(enum Witnet.RadonDataTypes)"
                              }
                            },
                            "id": 22433,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "19341:31:67",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                              "typeString": "enum Witnet.RadonDataTypes"
                            }
                          },
                          "functionReturnParameters": 22328,
                          "id": 22434,
                          "nodeType": "Return",
                          "src": "19334:38:67"
                        }
                      ]
                    }
                  },
                  "id": 22447,
                  "nodeType": "IfStatement",
                  "src": "18250:1296:67",
                  "trueBody": {
                    "id": 22373,
                    "nodeType": "Block",
                    "src": "18301:409:67",
                    "statements": [
                      {
                        "assignments": [
                          22339
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 22339,
                            "mutability": "mutable",
                            "name": "items",
                            "nameLocation": "18341:5:67",
                            "nodeType": "VariableDeclaration",
                            "scope": 22373,
                            "src": "18316:30:67",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                              "typeString": "struct WitnetCBOR.CBOR[]"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 22337,
                                "nodeType": "UserDefinedTypeName",
                                "pathNode": {
                                  "id": 22336,
                                  "name": "WitnetCBOR.CBOR",
                                  "nameLocations": [
                                    "18316:10:67",
                                    "18327:4:67"
                                  ],
                                  "nodeType": "IdentifierPath",
                                  "referencedDeclaration": 19218,
                                  "src": "18316:15:67"
                                },
                                "referencedDeclaration": 19218,
                                "src": "18316:15:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_CBOR_$19218_storage_ptr",
                                  "typeString": "struct WitnetCBOR.CBOR"
                                }
                              },
                              "id": 22338,
                              "nodeType": "ArrayTypeName",
                              "src": "18316:17:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_storage_$dyn_storage_ptr",
                                "typeString": "struct WitnetCBOR.CBOR[]"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 22343,
                        "initialValue": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "id": 22340,
                              "name": "self",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 22321,
                              "src": "18349:4:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                "typeString": "struct WitnetCBOR.CBOR memory"
                              }
                            },
                            "id": 22341,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "18354:9:67",
                            "memberName": "readArray",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 19800,
                            "src": "18349:14:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$returns$_t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr_$attached_to$_t_struct$_CBOR_$19218_memory_ptr_$",
                              "typeString": "function (struct WitnetCBOR.CBOR memory) pure returns (struct WitnetCBOR.CBOR memory[] memory)"
                            }
                          },
                          "id": 22342,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "18349:16:67",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "18316:49:67"
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 22347,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "id": 22344,
                              "name": "items",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 22339,
                              "src": "18384:5:67",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                              }
                            },
                            "id": 22345,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "18390:6:67",
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "src": "18384:12:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "hexValue": "31",
                            "id": 22346,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "18399:1:67",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "src": "18384:16:67",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 22371,
                          "nodeType": "Block",
                          "src": "18632:67:67",
                          "statements": [
                            {
                              "expression": {
                                "expression": {
                                  "expression": {
                                    "id": 22367,
                                    "name": "Witnet",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 17557,
                                    "src": "18658:6:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                      "typeString": "type(library Witnet)"
                                    }
                                  },
                                  "id": 22368,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "18665:14:67",
                                  "memberName": "RadonDataTypes",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 16432,
                                  "src": "18658:21:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_RadonDataTypes_$16432_$",
                                    "typeString": "type(enum Witnet.RadonDataTypes)"
                                  }
                                },
                                "id": 22369,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "18680:3:67",
                                "memberName": "Any",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16412,
                                "src": "18658:25:67",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                                  "typeString": "enum Witnet.RadonDataTypes"
                                }
                              },
                              "functionReturnParameters": 22328,
                              "id": 22370,
                              "nodeType": "Return",
                              "src": "18651:32:67"
                            }
                          ]
                        },
                        "id": 22372,
                        "nodeType": "IfStatement",
                        "src": "18380:319:67",
                        "trueBody": {
                          "id": 22366,
                          "nodeType": "Block",
                          "src": "18402:224:67",
                          "statements": [
                            {
                              "expression": {
                                "condition": {
                                  "id": 22348,
                                  "name": "flip",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 22323,
                                  "src": "18428:4:67",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "falseExpression": {
                                  "arguments": [
                                    {
                                      "baseExpression": {
                                        "id": 22356,
                                        "name": "items",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 22339,
                                        "src": "18562:5:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                          "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                        }
                                      },
                                      "id": 22361,
                                      "indexExpression": {
                                        "commonType": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        "id": 22360,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                          "expression": {
                                            "id": 22357,
                                            "name": "items",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 22339,
                                            "src": "18568:5:67",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                              "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                            }
                                          },
                                          "id": 22358,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "18574:6:67",
                                          "memberName": "length",
                                          "nodeType": "MemberAccess",
                                          "src": "18568:12:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "-",
                                        "rightExpression": {
                                          "hexValue": "32",
                                          "id": 22359,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "18583:1:67",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_rational_2_by_1",
                                            "typeString": "int_const 2"
                                          },
                                          "value": "2"
                                        },
                                        "src": "18568:16:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "18562:23:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                        "typeString": "struct WitnetCBOR.CBOR memory"
                                      }
                                    },
                                    {
                                      "hexValue": "74727565",
                                      "id": 22362,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "bool",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "18587:4:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      },
                                      "value": "true"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                        "typeString": "struct WitnetCBOR.CBOR memory"
                                      },
                                      {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    ],
                                    "id": 22355,
                                    "name": "_verifyRadonScriptResultDataType",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 22449,
                                    "src": "18529:32:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$_t_bool_$returns$_t_enum$_RadonDataTypes_$16432_$",
                                      "typeString": "function (struct WitnetCBOR.CBOR memory,bool) pure returns (enum Witnet.RadonDataTypes)"
                                    }
                                  },
                                  "id": 22363,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "18529:63:67",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                                    "typeString": "enum Witnet.RadonDataTypes"
                                  }
                                },
                                "id": 22364,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "Conditional",
                                "src": "18428:164:67",
                                "trueExpression": {
                                  "arguments": [
                                    {
                                      "baseExpression": {
                                        "id": 22350,
                                        "name": "items",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 22339,
                                        "src": "18489:5:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                          "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                        }
                                      },
                                      "id": 22352,
                                      "indexExpression": {
                                        "hexValue": "30",
                                        "id": 22351,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "18495:1:67",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_rational_0_by_1",
                                          "typeString": "int_const 0"
                                        },
                                        "value": "0"
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "18489:8:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                        "typeString": "struct WitnetCBOR.CBOR memory"
                                      }
                                    },
                                    {
                                      "hexValue": "66616c7365",
                                      "id": 22353,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "bool",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "18499:5:67",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      },
                                      "value": "false"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                        "typeString": "struct WitnetCBOR.CBOR memory"
                                      },
                                      {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    ],
                                    "id": 22349,
                                    "name": "_verifyRadonScriptResultDataType",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 22449,
                                    "src": "18456:32:67",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$_t_bool_$returns$_t_enum$_RadonDataTypes_$16432_$",
                                      "typeString": "function (struct WitnetCBOR.CBOR memory,bool) pure returns (enum Witnet.RadonDataTypes)"
                                    }
                                  },
                                  "id": 22354,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "18456:49:67",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                                    "typeString": "enum Witnet.RadonDataTypes"
                                  }
                                },
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                                  "typeString": "enum Witnet.RadonDataTypes"
                                }
                              },
                              "functionReturnParameters": 22328,
                              "id": 22365,
                              "nodeType": "Return",
                              "src": "18421:171:67"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "id": 22449,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_verifyRadonScriptResultDataType",
            "nameLocation": "18098:32:67",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22324,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22321,
                  "mutability": "mutable",
                  "name": "self",
                  "nameLocation": "18154:4:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 22449,
                  "src": "18131:27:67",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                    "typeString": "struct WitnetCBOR.CBOR"
                  },
                  "typeName": {
                    "id": 22320,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22319,
                      "name": "WitnetCBOR.CBOR",
                      "nameLocations": [
                        "18131:10:67",
                        "18142:4:67"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 19218,
                      "src": "18131:15:67"
                    },
                    "referencedDeclaration": 19218,
                    "src": "18131:15:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_CBOR_$19218_storage_ptr",
                      "typeString": "struct WitnetCBOR.CBOR"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22323,
                  "mutability": "mutable",
                  "name": "flip",
                  "nameLocation": "18165:4:67",
                  "nodeType": "VariableDeclaration",
                  "scope": 22449,
                  "src": "18160:9:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 22322,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "18160:4:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "18130:40:67"
            },
            "returnParameters": {
              "id": 22328,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22327,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22449,
                  "src": "18211:21:67",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                    "typeString": "enum Witnet.RadonDataTypes"
                  },
                  "typeName": {
                    "id": 22326,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22325,
                      "name": "Witnet.RadonDataTypes",
                      "nameLocations": [
                        "18211:6:67",
                        "18218:14:67"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16432,
                      "src": "18211:21:67"
                    },
                    "referencedDeclaration": 16432,
                    "src": "18211:21:67",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_RadonDataTypes_$16432",
                      "typeString": "enum Witnet.RadonDataTypes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "18210:23:67"
            },
            "scope": 22450,
            "src": "18089:1464:67",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "private"
          }
        ],
        "scope": 22451,
        "src": "189:19369:67",
        "usedErrors": [
          17562,
          17568,
          17574,
          19262,
          19268,
          19276,
          20767,
          20773,
          20777,
          20783,
          20787,
          20795,
          20801,
          20809,
          20813
        ],
        "usedEvents": []
      }
    ],
    "src": "35:19523:67"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.25+commit.b61c2a91.Emscripten.clang"
  },
  "networks": {
    "322": {
      "events": {},
      "links": {},
      "address": "0x268631E002eE8c23F4C124AfBb6fE5DBbaa6d58c"
    },
    "11155111": {
      "events": {},
      "links": {},
      "address": "0x268631E002eE8c23F4C124AfBb6fE5DBbaa6d58c"
    }
  },
  "schemaVersion": "3.4.16",
  "updatedAt": "2024-12-05T09:36:04.583Z",
  "devdoc": {
    "author": "The Witnet Foundation.",
    "kind": "dev",
    "methods": {
      "encode(bytes)": {
        "params": {
          "buf": "Bytes array"
        },
        "returns": {
          "_0": "Mashaled bytes"
        }
      },
      "encode(bytes,uint256)": {
        "params": {
          "buf": "Bytes array"
        },
        "returns": {
          "_0": "Marshaled bytes"
        }
      },
      "encode(string)": {
        "params": {
          "str": "String bytes."
        },
        "returns": {
          "_0": "Mashaled bytes"
        }
      },
      "encode(uint64,bytes1)": {
        "details": "Encode uint64 into tagged varint.See https://developers.google.com/protocol-buffers/docs/encoding#varints.",
        "params": {
          "n": "Number",
          "t": "Tag"
        },
        "returns": {
          "buf": "Marshaled bytes"
        }
      }
    },
    "title": "A library for encoding Witnet Data Requests.",
    "version": 1
  },
  "userdoc": {
    "kind": "user",
    "methods": {
      "encode(bytes)": {
        "notice": "Encode bytes array."
      },
      "encode(bytes,uint256)": {
        "notice": "Encode bytes array into given major type (UTF-8 not yet supported)"
      },
      "encode(string)": {
        "notice": "Encode string array (UTF-8 not yet supported)."
      }
    },
    "version": 1
  }
}