{
  "contractName": "WitnetOracleTrustableDefault",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract WitnetRequestFactory",
          "name": "_factory",
          "type": "address"
        },
        {
          "internalType": "contract WitnetRequestBytecodes",
          "name": "_registry",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "_upgradable",
          "type": "bool"
        },
        {
          "internalType": "bytes32",
          "name": "_versionTag",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "_reportResultGasBase",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_reportResultWithCallbackGasBase",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_reportResultWithCallbackRevertGasBase",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_sstoreFromZeroGas",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "EmptyBuffer",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "index",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "range",
          "type": "uint256"
        }
      ],
      "name": "IndexOutOfBounds",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidInitialization",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "length",
          "type": "uint256"
        }
      ],
      "name": "InvalidLengthEncoding",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NotInitializing",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "OwnableInvalidOwner",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "OwnableUnauthorizedAccount",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ReentrancyGuardReentrantCall",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "read",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "expected",
          "type": "uint256"
        }
      ],
      "name": "UnexpectedMajorType",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "unexpected",
          "type": "uint256"
        }
      ],
      "name": "UnsupportedMajorType",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "queryId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "reason",
          "type": "string"
        }
      ],
      "name": "BatchReportError",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "version",
          "type": "uint64"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferStarted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Received",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address[]",
          "name": "reporters",
          "type": "address[]"
        }
      ],
      "name": "ReportersSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address[]",
          "name": "reporters",
          "type": "address[]"
        }
      ],
      "name": "ReportersUnset",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "baseAddr",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "baseCodehash",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "versionTag",
          "type": "string"
        }
      ],
      "name": "Upgraded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmReward",
          "type": "uint256"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "indexed": false,
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "witnetSLA",
          "type": "tuple"
        }
      ],
      "name": "WitnetQuery",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmGasPrice",
          "type": "uint256"
        }
      ],
      "name": "WitnetQueryResponse",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmGasPrice",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmCallbackGas",
          "type": "uint256"
        }
      ],
      "name": "WitnetQueryResponseDelivered",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "resultCborBytes",
          "type": "bytes"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmGasPrice",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmCallbackActualGas",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "evmCallbackRevertReason",
          "type": "string"
        }
      ],
      "name": "WitnetQueryResponseDeliveryFailed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "evmReward",
          "type": "uint256"
        }
      ],
      "name": "WitnetQueryRewardUpgraded",
      "type": "event"
    },
    {
      "stateMutability": "nonpayable",
      "type": "fallback"
    },
    {
      "inputs": [],
      "name": "acceptOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "base",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "channel",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "codehash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "_codehash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "currency",
      "outputs": [
        {
          "internalType": "contract IERC20",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "deployer",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256[]",
          "name": "_witnetQueryIds",
          "type": "uint256[]"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "_txGasPrice",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_nanoWitPrice",
          "type": "uint256"
        }
      ],
      "name": "estimateReportEarnings",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_revenues",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_expenses",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256[]",
          "name": "_queryIds",
          "type": "uint256[]"
        }
      ],
      "name": "extractWitnetDataRequests",
      "outputs": [
        {
          "internalType": "bytes[]",
          "name": "_bytecodes",
          "type": "bytes[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "factory",
      "outputs": [
        {
          "internalType": "contract WitnetRequestFactory",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "fetchQueryResponse",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "reporter",
              "type": "address"
            },
            {
              "internalType": "uint64",
              "name": "finality",
              "type": "uint64"
            },
            {
              "internalType": "uint32",
              "name": "resultTimestamp",
              "type": "uint32"
            },
            {
              "internalType": "bytes32",
              "name": "resultTallyHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "resultCborBytes",
              "type": "bytes"
            }
          ],
          "internalType": "struct WitnetV2.Response",
          "name": "_response",
          "type": "tuple"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getNextQueryId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQuery",
      "outputs": [
        {
          "components": [
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "requester",
                  "type": "address"
                },
                {
                  "internalType": "uint24",
                  "name": "gasCallback",
                  "type": "uint24"
                },
                {
                  "internalType": "uint72",
                  "name": "evmReward",
                  "type": "uint72"
                },
                {
                  "internalType": "bytes",
                  "name": "witnetBytecode",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes32",
                  "name": "witnetRAD",
                  "type": "bytes32"
                },
                {
                  "components": [
                    {
                      "internalType": "uint8",
                      "name": "committeeSize",
                      "type": "uint8"
                    },
                    {
                      "internalType": "uint64",
                      "name": "witnessingFeeNanoWit",
                      "type": "uint64"
                    }
                  ],
                  "internalType": "struct WitnetV2.RadonSLA",
                  "name": "witnetSLA",
                  "type": "tuple"
                }
              ],
              "internalType": "struct WitnetV2.Request",
              "name": "request",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "reporter",
                  "type": "address"
                },
                {
                  "internalType": "uint64",
                  "name": "finality",
                  "type": "uint64"
                },
                {
                  "internalType": "uint32",
                  "name": "resultTimestamp",
                  "type": "uint32"
                },
                {
                  "internalType": "bytes32",
                  "name": "resultTallyHash",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes",
                  "name": "resultCborBytes",
                  "type": "bytes"
                }
              ],
              "internalType": "struct WitnetV2.Response",
              "name": "response",
              "type": "tuple"
            }
          ],
          "internalType": "struct WitnetV2.Query",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryEvmReward",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryRequest",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "requester",
              "type": "address"
            },
            {
              "internalType": "uint24",
              "name": "gasCallback",
              "type": "uint24"
            },
            {
              "internalType": "uint72",
              "name": "evmReward",
              "type": "uint72"
            },
            {
              "internalType": "bytes",
              "name": "witnetBytecode",
              "type": "bytes"
            },
            {
              "internalType": "bytes32",
              "name": "witnetRAD",
              "type": "bytes32"
            },
            {
              "components": [
                {
                  "internalType": "uint8",
                  "name": "committeeSize",
                  "type": "uint8"
                },
                {
                  "internalType": "uint64",
                  "name": "witnessingFeeNanoWit",
                  "type": "uint64"
                }
              ],
              "internalType": "struct WitnetV2.RadonSLA",
              "name": "witnetSLA",
              "type": "tuple"
            }
          ],
          "internalType": "struct WitnetV2.Request",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResponse",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "reporter",
              "type": "address"
            },
            {
              "internalType": "uint64",
              "name": "finality",
              "type": "uint64"
            },
            {
              "internalType": "uint32",
              "name": "resultTimestamp",
              "type": "uint32"
            },
            {
              "internalType": "bytes32",
              "name": "resultTallyHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "resultCborBytes",
              "type": "bytes"
            }
          ],
          "internalType": "struct WitnetV2.Response",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResponseStatus",
      "outputs": [
        {
          "internalType": "enum WitnetV2.ResponseStatus",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResultCborBytes",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryResultError",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.ResultErrorCodes",
              "name": "code",
              "type": "uint8"
            },
            {
              "internalType": "string",
              "name": "reason",
              "type": "string"
            }
          ],
          "internalType": "struct Witnet.ResultError",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "getQueryStatus",
      "outputs": [
        {
          "internalType": "enum WitnetV2.QueryStatus",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256[]",
          "name": "_witnetQueryIds",
          "type": "uint256[]"
        }
      ],
      "name": "getQueryStatusBatch",
      "outputs": [
        {
          "internalType": "enum WitnetV2.QueryStatus[]",
          "name": "_status",
          "type": "uint8[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "_initData",
          "type": "bytes"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_reporter",
          "type": "address"
        }
      ],
      "name": "isReporter",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isUpgradable",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_from",
          "type": "address"
        }
      ],
      "name": "isUpgradableFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "pendingOwner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_queryRAD",
          "type": "bytes32"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "_querySLA",
          "type": "tuple"
        }
      ],
      "name": "postRequest",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "_queryUnverifiedBytecode",
          "type": "bytes"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "_querySLA",
          "type": "tuple"
        },
        {
          "internalType": "uint24",
          "name": "_queryCallbackGasLimit",
          "type": "uint24"
        }
      ],
      "name": "postRequestWithCallback",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_queryRAD",
          "type": "bytes32"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "_querySLA",
          "type": "tuple"
        },
        {
          "internalType": "uint24",
          "name": "_queryCallbackGasLimit",
          "type": "uint24"
        }
      ],
      "name": "postRequestWithCallback",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "proxiableUUID",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "registry",
      "outputs": [
        {
          "internalType": "contract WitnetRequestBytecodes",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "_witnetQueryResultTallyHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "_witnetQueryResultCborBytes",
          "type": "bytes"
        }
      ],
      "name": "reportResult",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        },
        {
          "internalType": "uint32",
          "name": "_witnetQueryResultTimestamp",
          "type": "uint32"
        },
        {
          "internalType": "bytes32",
          "name": "_witnetQueryResultTallyHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "_witnetQueryResultCborBytes",
          "type": "bytes"
        }
      ],
      "name": "reportResult",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "queryId",
              "type": "uint256"
            },
            {
              "internalType": "uint32",
              "name": "queryResultTimestamp",
              "type": "uint32"
            },
            {
              "internalType": "bytes32",
              "name": "queryResultTallyHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "queryResultCborBytes",
              "type": "bytes"
            }
          ],
          "internalType": "struct IWitnetOracleReporter.BatchResult[]",
          "name": "_batchResults",
          "type": "tuple[]"
        }
      ],
      "name": "reportResultBatch",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_batchReward",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_reporters",
          "type": "address[]"
        }
      ],
      "name": "setReporters",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "specs",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_exReporters",
          "type": "address[]"
        }
      ],
      "name": "unsetReporters",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_witnetQueryId",
          "type": "uint256"
        }
      ],
      "name": "upgradeQueryEvmReward",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    },
    {
      "inputs": [],
      "name": "class",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_gasPrice",
          "type": "uint256"
        },
        {
          "internalType": "uint16",
          "name": "_resultMaxSize",
          "type": "uint16"
        }
      ],
      "name": "estimateBaseFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "gasPrice",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "radHash",
          "type": "bytes32"
        }
      ],
      "name": "estimateBaseFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_gasPrice",
          "type": "uint256"
        },
        {
          "internalType": "uint24",
          "name": "_callbackGasLimit",
          "type": "uint24"
        }
      ],
      "name": "estimateBaseFeeWithCallback",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract WitnetRequestFactory\",\"name\":\"_factory\",\"type\":\"address\"},{\"internalType\":\"contract WitnetRequestBytecodes\",\"name\":\"_registry\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_upgradable\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"_versionTag\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_reportResultGasBase\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_reportResultWithCallbackGasBase\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_reportResultWithCallbackRevertGasBase\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_sstoreFromZeroGas\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"EmptyBuffer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"range\",\"type\":\"uint256\"}],\"name\":\"IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"InvalidLengthEncoding\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"read\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"}],\"name\":\"UnexpectedMajorType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"unexpected\",\"type\":\"uint256\"}],\"name\":\"UnsupportedMajorType\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"BatchReportError\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Received\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"reporters\",\"type\":\"address[]\"}],\"name\":\"ReportersSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"reporters\",\"type\":\"address[]\"}],\"name\":\"ReportersUnset\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"baseAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"baseCodehash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"versionTag\",\"type\":\"string\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmReward\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"witnetSLA\",\"type\":\"tuple\"}],\"name\":\"WitnetQuery\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmGasPrice\",\"type\":\"uint256\"}],\"name\":\"WitnetQueryResponse\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmGasPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmCallbackGas\",\"type\":\"uint256\"}],\"name\":\"WitnetQueryResponseDelivered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmGasPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmCallbackActualGas\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"evmCallbackRevertReason\",\"type\":\"string\"}],\"name\":\"WitnetQueryResponseDeliveryFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"evmReward\",\"type\":\"uint256\"}],\"name\":\"WitnetQueryRewardUpgraded\",\"type\":\"event\"},{\"stateMutability\":\"nonpayable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"base\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"channel\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"class\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"codehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_codehash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currency\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"_resultMaxSize\",\"type\":\"uint16\"}],\"name\":\"estimateBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"radHash\",\"type\":\"bytes32\"}],\"name\":\"estimateBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint24\",\"name\":\"_callbackGasLimit\",\"type\":\"uint24\"}],\"name\":\"estimateBaseFeeWithCallback\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_witnetQueryIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_txGasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nanoWitPrice\",\"type\":\"uint256\"}],\"name\":\"estimateReportEarnings\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_revenues\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_expenses\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_queryIds\",\"type\":\"uint256[]\"}],\"name\":\"extractWitnetDataRequests\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"_bytecodes\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"contract WitnetRequestFactory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"fetchQueryResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"finality\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"resultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"resultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct WitnetV2.Response\",\"name\":\"_response\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNextQueryId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQuery\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"gasCallback\",\"type\":\"uint24\"},{\"internalType\":\"uint72\",\"name\":\"evmReward\",\"type\":\"uint72\"},{\"internalType\":\"bytes\",\"name\":\"witnetBytecode\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"witnetRAD\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"witnetSLA\",\"type\":\"tuple\"}],\"internalType\":\"struct WitnetV2.Request\",\"name\":\"request\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"finality\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"resultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"resultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct WitnetV2.Response\",\"name\":\"response\",\"type\":\"tuple\"}],\"internalType\":\"struct WitnetV2.Query\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryEvmReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryRequest\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"gasCallback\",\"type\":\"uint24\"},{\"internalType\":\"uint72\",\"name\":\"evmReward\",\"type\":\"uint72\"},{\"internalType\":\"bytes\",\"name\":\"witnetBytecode\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"witnetRAD\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"witnetSLA\",\"type\":\"tuple\"}],\"internalType\":\"struct WitnetV2.Request\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"finality\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"resultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"resultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct WitnetV2.Response\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResponseStatus\",\"outputs\":[{\"internalType\":\"enum WitnetV2.ResponseStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResultCborBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryResultError\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Witnet.ResultErrorCodes\",\"name\":\"code\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct Witnet.ResultError\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"getQueryStatus\",\"outputs\":[{\"internalType\":\"enum WitnetV2.QueryStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_witnetQueryIds\",\"type\":\"uint256[]\"}],\"name\":\"getQueryStatusBatch\",\"outputs\":[{\"internalType\":\"enum WitnetV2.QueryStatus[]\",\"name\":\"_status\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_initData\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reporter\",\"type\":\"address\"}],\"name\":\"isReporter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isUpgradable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"}],\"name\":\"isUpgradableFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryRAD\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"_querySLA\",\"type\":\"tuple\"}],\"name\":\"postRequest\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_queryUnverifiedBytecode\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"_querySLA\",\"type\":\"tuple\"},{\"internalType\":\"uint24\",\"name\":\"_queryCallbackGasLimit\",\"type\":\"uint24\"}],\"name\":\"postRequestWithCallback\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_queryRAD\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"committeeSize\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessingFeeNanoWit\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetV2.RadonSLA\",\"name\":\"_querySLA\",\"type\":\"tuple\"},{\"internalType\":\"uint24\",\"name\":\"_queryCallbackGasLimit\",\"type\":\"uint24\"}],\"name\":\"postRequestWithCallback\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract WitnetRequestBytecodes\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_witnetQueryResultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_witnetQueryResultCborBytes\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_witnetQueryResultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_witnetQueryResultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_witnetQueryResultCborBytes\",\"type\":\"bytes\"}],\"name\":\"reportResult\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"queryResultTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"queryResultTallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"queryResultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct IWitnetOracleReporter.BatchResult[]\",\"name\":\"_batchResults\",\"type\":\"tuple[]\"}],\"name\":\"reportResultBatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_batchReward\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_reporters\",\"type\":\"address[]\"}],\"name\":\"setReporters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"specs\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_exReporters\",\"type\":\"address[]\"}],\"name\":\"unsetReporters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_witnetQueryId\",\"type\":\"uint256\"}],\"name\":\"upgradeQueryEvmReward\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"The Witnet Foundation\",\"details\":\"This contract enables posting requests that Witnet bridges will insert into the Witnet network. The result of the requests will be posted back to this contract by the bridge nodes too.\",\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address,address,bytes32,string)\":{\"params\":{\"baseAddr\":\"The address of the new implementation contract.\",\"baseCodehash\":\"The EVM-codehash of the new implementation contract.\",\"from\":\"The address who ordered the upgrading. Namely, the WRB operator in \\\"trustable\\\" implementations.\",\"versionTag\":\"Ascii-encoded version literal with which the implementation deployer decided to tag it.\"}}},\"kind\":\"dev\",\"methods\":{\"acceptOwnership()\":{\"details\":\"The new owner accepts the ownership transfer.\"},\"base()\":{\"details\":\"Retrieves base contract. Differs from address(this) when called via delegate-proxy pattern.\"},\"codehash()\":{\"details\":\"Retrieves the immutable codehash of this contract, even if invoked as delegatecall.\"},\"estimateBaseFee(uint256,bytes32)\":{\"details\":\"Underestimates if the size of returned data is greater than `resultMaxSize`. \",\"params\":{\"gasPrice\":\"Expected gas price to pay upon posting the data request.\",\"radHash\":\"The hash of some Witnet Data Request previously posted in the WitnetRequestBytecodes registry.\"}},\"estimateBaseFee(uint256,uint16)\":{\"details\":\"Underestimates if the size of returned data is greater than `_resultMaxSize`. \",\"params\":{\"_gasPrice\":\"Expected gas price to pay upon posting the data request.\",\"_resultMaxSize\":\"Maximum expected size of returned data (in bytes).\"}},\"estimateBaseFeeWithCallback(uint256,uint24)\":{\"params\":{\"_callbackGasLimit\":\"Maximum gas to be spent when reporting the data request result.\",\"_gasPrice\":\"Expected gas price to pay upon posting the data request.\"}},\"extractWitnetDataRequests(uint256[])\":{\"details\":\"Returns empty buffer if the query does not exist.\",\"params\":{\"_queryIds\":\"Query identifies.\"}},\"fetchQueryResponse(uint256)\":{\"details\":\"Fails if the `_witnetQueryId` is not in 'Reported' status, or called from an address different tothe one that actually posted the given request.\",\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"getQueryRequest(uint256)\":{\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"getQueryResponse(uint256)\":{\"details\":\"Fails if the `_witnetQueryId` is not in 'Reported' status.\",\"params\":{\"_witnetQueryId\":\"The unique query identifier\"}},\"getQueryResponseStatus(uint256)\":{\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"getQueryResultCborBytes(uint256)\":{\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"getQueryResultError(uint256)\":{\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}},\"initialize(bytes)\":{\"details\":\"Must fail when trying to upgrade to same logic contract more than once.\"},\"isReporter(address)\":{\"params\":{\"_reporter\":\"The address to be checked.\"}},\"isUpgradable()\":{\"details\":\"Determines whether the logic of this contract is potentially upgradable.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"pendingOwner()\":{\"details\":\"Returns the address of the pending owner.\"},\"postRequest(bytes32,(uint8,uint64))\":{\"details\":\"Reasons to fail:- the RAD hash was not previously verified by the WitnetRequestBytecodes registry;- invalid SLA parameters were provided;- insufficient value is paid as reward.\",\"params\":{\"_queryRAD\":\"The RAD hash of the data request to be solved by Witnet.\",\"_querySLA\":\"The data query SLA to be fulfilled on the Witnet blockchain.\"},\"returns\":{\"_witnetQueryId\":\"Unique query identifier.\"}},\"postRequestWithCallback(bytes,(uint8,uint64),uint24)\":{\"details\":\"Reasons to fail:- the caller is not a contract implementing the IWitnetConsumer interface;- the provided bytecode is empty;- invalid SLA parameters were provided;- zero callback gas limit is provided;- insufficient value is paid as reward.\",\"params\":{\"_queryCallbackGasLimit\":\"Maximum gas to be spent when reporting the data request result.\",\"_querySLA\":\"The data query SLA to be fulfilled on the Witnet blockchain.\",\"_queryUnverifiedBytecode\":\"The (unverified) bytecode containing the actual data request to be solved by the Witnet blockchain.\"},\"returns\":{\"_witnetQueryId\":\"Unique query identifier.\"}},\"postRequestWithCallback(bytes32,(uint8,uint64),uint24)\":{\"details\":\"Reasons to fail:- the caller is not a contract implementing the IWitnetConsumer interface;- the RAD hash was not previously verified by the WitnetRequestBytecodes registry;- invalid SLA parameters were provided;- zero callback gas limit is provided;- insufficient value is paid as reward.\",\"params\":{\"_queryCallbackGasLimit\":\"Maximum gas to be spent when reporting the data request result.\",\"_queryRAD\":\"The RAD hash of the data request to be solved by Witnet.\",\"_querySLA\":\"The data query SLA to be fulfilled on the Witnet blockchain.\"},\"returns\":{\"_witnetQueryId\":\"Unique query identifier.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"reportResult(uint256,bytes32,bytes)\":{\"details\":\"Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_witnetQueryId` is not in 'Posted' status.- provided `_witnetQueryResultTallyHash` is zero;- length of provided `_result` is zero.\",\"params\":{\"_witnetQueryId\":\"The unique identifier of the data request.\",\"_witnetQueryResultCborBytes\":\"The result itself as bytes.\",\"_witnetQueryResultTallyHash\":\"Hash of the commit/reveal witnessing act that took place in the Witnet blockahin.\"}},\"reportResult(uint256,uint32,bytes32,bytes)\":{\"details\":\"Fails if:- called from unauthorized address;- the `_witnetQueryId` is not in 'Posted' status.- provided `_witnetQueryResultTallyHash` is zero;- length of provided `_witnetQueryResultCborBytes` is zero.\",\"params\":{\"_witnetQueryId\":\"The unique query identifier\",\"_witnetQueryResultCborBytes\":\"The result itself as bytes.\",\"_witnetQueryResultTallyHash\":\"Hash of the commit/reveal witnessing act that took place in the Witnet blockahin.\",\"_witnetQueryResultTimestamp\":\"Timestamp at which the reported value was captured by the Witnet blockchain. \"}},\"reportResultBatch((uint256,uint32,bytes32,bytes)[])\":{\"details\":\"Fails only if called from unauthorized address.\",\"params\":{\"_batchResults\":\"Array of BatchResult structs, every one containing:         - unique query identifier;         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;         - hash of the corresponding data request tx at the Witnet side-chain level;         - data request result in raw bytes.\"}},\"setReporters(address[])\":{\"details\":\"Can only be called from the owner address.Emits the `ReportersSet` event. \",\"params\":{\"_reporters\":\"List of addresses to be added to the active reporters control list.\"}},\"transferOwnership(address)\":{\"details\":\"Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner.\"},\"unsetReporters(address[])\":{\"details\":\"Can only be called from the owner address.Emits the `ReportersUnset` event. \",\"params\":{\"_exReporters\":\"List of addresses to be added to the active reporters control list.\"}},\"upgradeQueryEvmReward(uint256)\":{\"details\":\"Fails if the `_witnetQueryId` is not in 'Posted' status.\",\"params\":{\"_witnetQueryId\":\"The unique query identifier.\"}}},\"title\":\"Witnet Request Board \\\"trustable\\\" implementation contract.\",\"version\":1},\"userdoc\":{\"events\":{\"Upgraded(address,address,bytes32,string)\":{\"notice\":\"Emitted every time the contract gets upgraded.\"},\"WitnetQuery(uint256,uint256,(uint8,uint64))\":{\"notice\":\"Emitted every time a new query containing some verified data request is posted to the WRB.\"},\"WitnetQueryResponse(uint256,uint256)\":{\"notice\":\"Emitted when a query with no callback gets reported into the WRB.\"},\"WitnetQueryResponseDelivered(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a query with a callback gets successfully reported into the WRB.\"},\"WitnetQueryResponseDeliveryFailed(uint256,bytes,uint256,uint256,string)\":{\"notice\":\"Emitted when a query with a callback cannot get reported into the WRB.\"},\"WitnetQueryRewardUpgraded(uint256,uint256)\":{\"notice\":\"Emitted when the reward of some not-yet reported query is upgraded.\"}},\"kind\":\"user\",\"methods\":{\"estimateBaseFee(uint256,bytes32)\":{\"notice\":\"Estimate the minimum reward required for posting a data request.\"},\"estimateBaseFee(uint256,uint16)\":{\"notice\":\"Estimate the minimum reward required for posting a data request.\"},\"estimateBaseFeeWithCallback(uint256,uint24)\":{\"notice\":\"Estimate the minimum reward required for posting a data request with a callback.\"},\"estimateReportEarnings(uint256[],bytes,uint256,uint256)\":{\"notice\":\"Estimates the actual earnings (or loss), in WEI, that a reporter would get by reporting result to given query,based on the gas price of the calling transaction. Data requesters should consider upgrading the reward on queries providing no actual earnings.\"},\"extractWitnetDataRequests(uint256[])\":{\"notice\":\"Retrieves the Witnet Data Request bytecodes and SLAs of previously posted queries.\"},\"fetchQueryResponse(uint256)\":{\"notice\":\"Retrieves copy of all response data related to a previously posted request, removing the whole query from storage.\"},\"getNextQueryId()\":{\"notice\":\"Returns next query id to be generated by the Witnet Request Board.\"},\"getQuery(uint256)\":{\"notice\":\"Gets the whole Query data contents, if any, no matter its current status.\"},\"getQueryEvmReward(uint256)\":{\"notice\":\"Gets the current EVM reward the report can claim, if not done yet.\"},\"getQueryRequest(uint256)\":{\"notice\":\"Retrieves the RAD hash and SLA parameters of the given query.\"},\"getQueryResponse(uint256)\":{\"notice\":\"Retrieves the Witnet-provable result, and metadata, to a previously posted request.    \"},\"getQueryResponseStatus(uint256)\":{\"notice\":\"Returns query's result current status from a requester's point of view:- 0 => Void: the query is either non-existent or deleted;- 1 => Awaiting: the query has not yet been reported;- 2 => Ready: the query has been succesfully solved;- 3 => Error: the query couldn't get solved due to some issue.\"},\"getQueryResultCborBytes(uint256)\":{\"notice\":\"Retrieves the CBOR-encoded buffer containing the Witnet-provided result to the given query.\"},\"getQueryResultError(uint256)\":{\"notice\":\"Gets error code identifying some possible failure on the resolution of the given query.\"},\"getQueryStatus(uint256)\":{\"notice\":\"Gets current status of given query.\"},\"initialize(bytes)\":{\"notice\":\"Re-initialize contract's storage context upon a new upgrade from a proxy.\"},\"isReporter(address)\":{\"notice\":\"Tells whether given address is included in the active reporters control list.\"},\"isUpgradableFrom(address)\":{\"notice\":\"Tells whether provided address could eventually upgrade the contract.\"},\"postRequest(bytes32,(uint8,uint64))\":{\"notice\":\"Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request.\"},\"postRequestWithCallback(bytes,(uint8,uint64),uint24)\":{\"notice\":\"Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request. The Witnet-provable result will be reporteddirectly to the requesting contract. If the report callback fails for any reason, a `WitnetQueryResponseDeliveryFailed`event will be triggered, and the Witnet audit trail will be saved in storage, but not so the CBOR-encoded result.\"},\"postRequestWithCallback(bytes32,(uint8,uint64),uint24)\":{\"notice\":\"Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request. The Witnet-provable result will be reporteddirectly to the requesting contract. If the report callback fails for any reason, an `WitnetQueryResponseDeliveryFailed`will be triggered, and the Witnet audit trail will be saved in storage, but not so the actual CBOR-encoded result.\"},\"reportResult(uint256,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provable result to a previously posted request. \"},\"reportResult(uint256,uint32,bytes32,bytes)\":{\"notice\":\"Reports the Witnet-provable result to a previously posted request.\"},\"reportResultBatch((uint256,uint32,bytes32,bytes)[])\":{\"notice\":\"Reports Witnet-provided results to multiple requests within a single EVM tx.Emits either a WitnetQueryResponse* or a BatchReportError event per batched report.\"},\"setReporters(address[])\":{\"notice\":\"Adds given addresses to the active reporters control list.\"},\"unsetReporters(address[])\":{\"notice\":\"Removes given addresses from the active reporters control list.\"},\"upgradeQueryEvmReward(uint256)\":{\"notice\":\"Increments the reward of a previously posted request by adding the transaction value to it.\"},\"version()\":{\"notice\":\"Retrieves human-readable version tag of current implementation.\"}},\"notice\":\"Contract to bridge requests to Witnet Decentralized Oracle Network.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/core/defaults/WitnetOracleTrustableDefault.sol\":\"WitnetOracleTrustableDefault\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x11a5a79827df29e915a12740caf62fe21ebe27c08c9ae3e09abe9ee3ba3866d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cf0c69ab827e3251db9ee6a50647d62c90ba580a4d7bbff21f2bea39e7b2f4a\",\"dweb:/ipfs/QmZiKwtKU1SBX4RGfQtY7PZfiapbbu6SZ9vizGQD9UHjRA\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"project:/contracts/WitnetOracle.sol\":{\"keccak256\":\"0x84ef8d2ebcba273e4bc23a5ee414a1213df55d1b4e496197a146031fea3a4874\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4a6e31964ed08c4c9dfe5279b4ffe9eeba6e759f15901e080e174e98e96a7f5\",\"dweb:/ipfs/QmTghzVFf2EHnfnHejgFGRBjanXYcstK9ftVaYmHWJfk8w\"]},\"project:/contracts/WitnetRequestBytecodes.sol\":{\"keccak256\":\"0x2a79d919dd79c0e3f857e6bee08368ad0b463188aced4a52de29270ed0f5f3d2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://290d6013ee9f75fedbbb7726527a637ea2ae7a5da0ad118ecc43b298846f0bb0\",\"dweb:/ipfs/QmU8AZtPyctrrvxdmH297p595ZMS6DgcD6djSFKNxAqYMs\"]},\"project:/contracts/WitnetRequestFactory.sol\":{\"keccak256\":\"0x3c66f27d7c1db0e662c37d98005c4cbd871ceb75e97079d7bf673fb75d59c858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52adb318b870d0825718125e94fdbdd0e968ced09926420e2543b0ca4c6eb579\",\"dweb:/ipfs/QmYack87Q2UTfQb8KLLEPFBrMJgN2o6PaPqPNSc95McPVH\"]},\"project:/contracts/core/WitnetProxy.sol\":{\"keccak256\":\"0x2b2f56fc69bf0e01f6f1062202d1682cd394fa3b3d9ff2f8f833ab51c9e866cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8017f76a71e4a52a5a5e249081c92510bac5b91f03f727e66ff4406238521337\",\"dweb:/ipfs/QmdWcPAL3MGtxGdpX5CMfgzz4YzxYEeCiFRoGHVCr8rLEL\"]},\"project:/contracts/core/WitnetUpgradableBase.sol\":{\"keccak256\":\"0x9cea47781e0005266e14fadf8d1ee565d0814d4d51b30dced11bdee37b663060\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb1f843f53c693f4b5a8f32249ac2eb93095671b99c90aa7c6d335eb7153e827\",\"dweb:/ipfs/QmSLvVGCcg2FZVWPB82yVb57SFixkuDm2BqjvgzJpnYfZp\"]},\"project:/contracts/core/defaults/WitnetOracleTrustableBase.sol\":{\"keccak256\":\"0xeb14d9ac86e9983b41cc3a307acd4e6546c9c3f790234ca1c208aa4c189a27df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73c7f71f22a0cf9e70681641b131ba42233c6bd03c4170d5ac153153de206c04\",\"dweb:/ipfs/QmPMKe45EGWbUoDPTF2Y8VDZ8Q3eEfbJFHt8DW9Y5x6NYn\"]},\"project:/contracts/core/defaults/WitnetOracleTrustableDefault.sol\":{\"keccak256\":\"0x3e4ce76102aef381af61296fb19e5fa1e36682cb13f0c21b882b590b06efc218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae39d2d0043a5b073177eb94f876dda7a2531d99f01162852d513dee36a7465e\",\"dweb:/ipfs/QmdGnCi4m478KEUdFv5w9Zqmmdc1SgmYB6KeRtbW4MC41P\"]},\"project:/contracts/data/WitnetOracleDataLib.sol\":{\"keccak256\":\"0x03c8b61605f0c5324047aa99c896fe189933e3e9a59b070b9b3ea6141f7db960\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cedd0416337f718a44bbbaf53efa99ba490f7de1e6ab45f6bdf29e03082aa29d\",\"dweb:/ipfs/Qmb8RUaZEFX5CvE1VTYpTrm1EhM62gAUcZ4dGt3w39gZBA\"]},\"project:/contracts/interfaces/IWitnetConsumer.sol\":{\"keccak256\":\"0xf90fbcf0a59428c0ac13a3903214656060a95175adfdef8c11a7e16675b849e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c2606640d3f343051ea18dfb8e136dfdb73ceecd8016c82ddb73d67ad39a30e0\",\"dweb:/ipfs/QmTADVW4M8pge6pGfenFAauEDk4yZEy78o5ksZiKGwP3DT\"]},\"project:/contracts/interfaces/IWitnetOracle.sol\":{\"keccak256\":\"0x5dbb04fce5e05675325232a735c46617378982b48dac2138aca0c6cc95e6e4d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7447a70455478239500e16aebe5dce6676dc86307d22f662761d8e9f7c5d1276\",\"dweb:/ipfs/QmVkvA4Mt6G1JXxE8ebxKGAjT1WvNbp5QMKg9sUKdrJjhv\"]},\"project:/contracts/interfaces/IWitnetOracleEvents.sol\":{\"keccak256\":\"0x0442f474f253dc1f6bd6a4f153c3adb2abe5f6f0f24c76d1baf666185e61e659\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://535e8efcfc5693669d9bd2b6f62e6fc65aca19b7de355a27152e4362b410540d\",\"dweb:/ipfs/QmVZRXgku1cZewhoucebaiBKAyUjF2dmEzYrzGvjPzbwN9\"]},\"project:/contracts/interfaces/IWitnetOracleReporter.sol\":{\"keccak256\":\"0xf4726c5c522b99ce01c2c870c259ebb8dc1563a25df3d715ed78cff89a8bb122\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11d4d7205c416fc2927856c2ab64a7d2d5374900c6ad41320f512a0f2e17f215\",\"dweb:/ipfs/QmW8gmJ5rkd4K7ahPQ6KuCQ5wdnhoZJTpSL5iPkZcg2dAe\"]},\"project:/contracts/interfaces/IWitnetRequestBoardAdminACLs.sol\":{\"keccak256\":\"0xf7dccb4e47d281ce229a9dc219fb2b30dea26f6ad80225f21c75b103d5ab1230\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://814f304ff435f64bbcac9ac512ca636c3245f522f87285909c9a9e0ec6dc5368\",\"dweb:/ipfs/QmXtmoYRgm2iXQmLUmVoRz8d5PNqrZXid4SgX4BoDs8rcm\"]},\"project:/contracts/interfaces/IWitnetRequestBytecodes.sol\":{\"keccak256\":\"0x8da168bee9a78442216965976b1f29087f760f37dcb09337283242599ed1cbca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e120623262ee0559913bdae56c0a7921147dfe08ada7ea81061b14e2fc38c5e1\",\"dweb:/ipfs/Qmbxe8XRrH6ZjJHiR6YYzcZV1jnSWwo9iBYz5r6GJ6To5G\"]},\"project:/contracts/interfaces/IWitnetRequestFactory.sol\":{\"keccak256\":\"0x3b19ec4a976745ba2646e7e1886d647ef30ad678460a712c93bbfb4405b57f1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa759ae15b7d4da622a81d50933474910959ac490d8b63ea2e7ed8608859a9c9\",\"dweb:/ipfs/QmRckCu7eBBP5fn9ff6djs7VbdhFc7sxYb2yqDr4go66jV\"]},\"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/WitnetErrorsLib.sol\":{\"keccak256\":\"0x6cc28a70034f65099ec7e69d03a6c9cb643a77032c0e6d76532b77b036ef8436\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://44eff62b48c4daf5606fae9b04dca6201af4336909d5966c2a2503c866b9efb0\",\"dweb:/ipfs/QmSc4qNo2ymtCevvgDKESYuVi1JD7PCWbMKfDoEhNwj4aS\"]},\"project:/contracts/libs/WitnetV2.sol\":{\"keccak256\":\"0xb276a6da373bfbe9cd942dd7e59979cda898215d1e36ab3df95a6d6cc6ff770f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc4890876b9bc64f501ccdd48408bb63724865cb2ce8d2057f6b318540adce7c\",\"dweb:/ipfs/QmPMHPdbCsKBavhiLcaDgQ9EjNSvwwzv8TKffotcCv1ctP\"]},\"project:/contracts/patterns/Initializable.sol\":{\"keccak256\":\"0xaac470e87f361cf15d68d1618d6eb7d4913885d33ccc39c797841a9591d44296\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef3760b2039feda8715d4bd9f8de8e3885f25573d12ba92f52d626ba880a08bf\",\"dweb:/ipfs/QmP2mfHPBKkjTAKft95sPDb4PBsjfmAwc47Kdcv3xYSf3g\"]},\"project:/contracts/patterns/Ownable.sol\":{\"keccak256\":\"0x494bda32f9a218d9c33ea82112129c0933ab52f57eabfbf0d14a8742a3370800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c4cf04ebb052fed9d15cf93ff4523955ee311aa4425ee85f0e80b4489c94e76\",\"dweb:/ipfs/QmfMf4WD7woTaQSTbJxxoan2aXSeY7ovY5NoipSBw5rMPK\"]},\"project:/contracts/patterns/Ownable2Step.sol\":{\"keccak256\":\"0x7033d8133957a291cf9b8be30bfc4b95e6414a20995911d1b5df8ea149580604\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e20a079adc224113306392d27e0cf202c6c4a7678c4705fd3bbbca99c1e9b816\",\"dweb:/ipfs/QmWrFv2SbSokhrWhwL94sW5x1HyT7rX5f4Scowe4bWHHqu\"]},\"project:/contracts/patterns/Payable.sol\":{\"keccak256\":\"0x83401b23b1c144561e674e86738e0d907c8fa15d90d79254415b3f5f215035c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e031f9a24c7030cd2d160a64a581fd3a69a06d7dc71bcf704b48f391c3d63fc6\",\"dweb:/ipfs/QmVpX6PdfgPGJZp3W5H4CGqVUqmNx9ttb4V5cz3YgBTypQ\"]},\"project:/contracts/patterns/Proxiable.sol\":{\"keccak256\":\"0x86032205378fed9ed2bf155eed8ce4bdbb13b7f5960850c6d50954a38b61a3d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f89978eda4244a13f42a6092a94ac829bb3e38c92d77d4978b9f32894b187a63\",\"dweb:/ipfs/Qmbc1XaFCvLm3Sxvh7tP29Ug32jBGy3avsCqBGAptxs765\"]},\"project:/contracts/patterns/ReentrancyGuard.sol\":{\"keccak256\":\"0x1470caf4bd78b79f706e28a8a85c95a6e13ec33eda04275e5da84464130831e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c974fb4dc29718a84f9ab5fa3f8c25c7f889050a38445e16c3ead5ff9d4b4bab\",\"dweb:/ipfs/QmbuGjkSjngbTZMRPijL9p56fP9cK5jMnWsFmvYAQj3qAY\"]},\"project:/contracts/patterns/Upgradeable.sol\":{\"keccak256\":\"0xbeb025c71f037acb1a668174eb6930631bf397129beb825f2660e5d8cf19614f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe6ce4dcd500093ae069d35b91829ccb471e1ca33ed0851fb053fbfe76c78aba\",\"dweb:/ipfs/QmT7huvCFS6bHDxt7HhEogJmyvYNbeb6dFTJudsVSX6nEs\"]}},\"version\":1}",
  "bytecode": "0x610240604052336101005263baeca88b60e01b6101605234801561002257600080fd5b50604051615c3d380380615c3d833981016040819052610041916101a6565b8787878760008083836040518060400160405280601981526020017f696f2e7769746e65742e70726f786961626c652e626f61726400000000000000815250823360006001600160a01b0316816001600160a01b0316036100bc57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100c581610125565b5030608052151560c052600160025560e091909152805160209091012061012052506001600160a01b03908116610140529485166101a05250505016610180526101c0939093526101e09190915261020052610220525061022892505050565b600180546001600160a01b031916905561013e81610141565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461013e57600080fd5b600080600080600080600080610100898b0312156101c357600080fd5b88516101ce81610191565b60208a01519098506101df81610191565b60408a015190975080151581146101f557600080fd5b60608a015160808b015160a08c015160c08d015160e0909d01519b9e9a9d50929b919a9099929850909650945092505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161590861033560003960008181610bad0152611e6301526000610bd9015260008181610c190152610c6101526000611e8d01526000818161090301528181611792015281816117da015281816118a501526119620152600081816106c50152818161193801528181611af001526120ab01526000610870015260006109a00152600061052e0152600061094e01526000611b8301526000818161055f0152611d3b015260005050600081816104e401528181610839015281816116c70152818161172101528181611a280152611a4a01526159086000f3fe6080604052600436106102765760003560e01c80637b1039991161014f578063aeb2ffc1116100c1578063e30c39781161007a578063e30c397814610970578063e5a6b10f1461098e578063e900aa33146109c2578063ec5946db146109d5578063f2fde38b146109e8578063f61921b214610a08576102b3565b8063aeb2ffc114610892578063b207e730146108bf578063bff852fa146108df578063c45a0155146108f4578063c805dd0f14610927578063d5f394881461093c576102b3565b806393d5185c1161011357806393d5185c146107955780639cc56e67146107ca578063a3ff5b00146107ea578063a77fc1a4146107fd578063a9e954b91461082a578063adb7c3f71461085e576102b3565b80637b103999146106b35780637bbdb96e146106e75780637bd88218146107375780638d3d8b38146107575780638da5cb5b14610777576102b3565b80635001f3b5116101e85780636280bce8116101ac5780636280bce8146105d25780636b58960a146105f25780636f07abcc146106125780636fdaab7e1461063f578063715018a61461068957806379ba50971461069e576102b3565b80635001f3b5146104d557806352d1902d1461051c5780635479d9401461055057806354fd4d5014610583578063581f5094146105a5576102b3565b8063234fe6e31161023a578063234fe6e31461040857806328a78d9b146104355780633dc2b7a214610455578063439fab911461046857806345ea6c17146104885780634c9f72e3146104b5576102b3565b8063044ad7be1461032b57806305e742ef1461036057806306eb2c421461038e57806308b7e85e146103ae5780630aa4112a146103db576102b3565b366102b3576102b1604051806040016040528060158152602001741b9bc81d1c985b9cd9995c9cc81858d8d95c1d1959605a1b815250610a28565b005b3480156102bf57600080fd5b506102b16102d160003560f81c610a71565b6102e260ff60003560f01c16610a71565b6102f360ff60003560e81c16610a71565b61030460ff60003560e01c16610a71565b60405160200161031794939291906142eb565b604051602081830303815290604052610a28565b34801561033757600080fd5b5061034b61034636600461437f565b610b63565b60405190151581526020015b60405180910390f35b34801561036c57600080fd5b5061038061037b3660046143af565b610ba5565b604051908152602001610357565b34801561039a57600080fd5b506103806103a9366004614426565b610c96565b3480156103ba57600080fd5b506103ce6103c9366004614467565b611000565b6040516103579190614500565b3480156103e757600080fd5b506103fb6103f6366004614467565b611297565b6040516103579190614595565b34801561041457600080fd5b50610428610423366004614467565b6113fd565b60405161035791906145d2565b34801561044157600080fd5b506102b1610450366004614645565b611408565b6103806104633660046146fb565b6114c1565b34801561047457600080fd5b506102b1610483366004614746565b6115cb565b34801561049457600080fd5b506104a86104a3366004614426565b611abf565b60405161035791906147cb565b3480156104c157600080fd5b506102b16104d0366004614645565b611b68565b3480156104e157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610357565b34801561052857600080fd5b506103807f000000000000000000000000000000000000000000000000000000000000000081565b34801561055c57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034b565b34801561058f57600080fd5b50610598611b7c565b604051610357919061482f565b3480156105b157600080fd5b506105c56105c0366004614426565b611bac565b6040516103579190614852565b3480156105de57600080fd5b506103806105ed3660046148de565b611c67565b3480156105fe57600080fd5b5061034b61060d36600461437f565b611d37565b34801561061e57600080fd5b5061063261062d366004614467565b611d8d565b6040516103579190614930565b34801561064b57600080fd5b5061038061065a366004614467565b60009081526000805160206158b38339815191526020526040902054600160b81b90046001600160481b031690565b34801561069557600080fd5b506102b1611d98565b3480156106aa57600080fd5b506102b1611dac565b3480156106bf57600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b3480156106f357600080fd5b5060408051306020808301919091524682840152825180830384018152606090920190925280519101205b6040516001600160e01b03199091168152602001610357565b34801561074357600080fd5b5061038061075236600461494e565b611e23565b34801561076357600080fd5b50610598610772366004614467565b611ebb565b34801561078357600080fd5b506000546001600160a01b0316610504565b3480156107a157600080fd5b506107b56107b036600461497e565b611f59565b60408051928352602083019190915201610357565b3480156107d657600080fd5b506103806107e53660046149fb565b612088565b6103806107f8366004614a1d565b61215e565b34801561080957600080fd5b5061081d610818366004614467565b6122b8565b6040516103579190614a92565b34801561083657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000003f610380565b34801561086a57600080fd5b5061071e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561089e57600080fd5b506108b26108ad366004614467565b612431565b6040516103579190614abe565b3480156108cb57600080fd5b506103806108da366004614b0b565b612667565b3480156108eb57600080fd5b50610598612782565b34801561090057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610504565b34801561093357600080fd5b506103806127b9565b34801561094857600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b34801561097c57600080fd5b506001546001600160a01b0316610504565b34801561099a57600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b6103806109d0366004614b72565b6127d6565b6102b16109e3366004614467565b612895565b3480156109f457600080fd5b506102b1610a0336600461437f565b612993565b348015610a1457600080fd5b506103ce610a23366004614467565b612a04565b610a30612782565b81604051602001610a42929190614baf565b60408051601f198184030181529082905262461bcd60e51b8252610a689160040161482f565b60405180910390fd5b604080516002808252818301909252606091600091906020820181803683370190505090506000610aa3601085614c18565b610aae906030614c3a565b90506000610abd601086614c53565b610ac8906030614c3a565b905060398260ff161115610ae457610ae1600783614c3a565b91505b60398160ff161115610afe57610afb600782614c3a565b90505b8160f81b83600081518110610b1557610b15614c75565b60200101906001600160f81b031916908160001a9053508060f81b83600181518110610b4357610b43614c75565b60200101906001600160f81b031916908160001a90535091949350505050565b6001600160a01b03811660009081527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e185602052604081205460ff165b92915050565b600080610bd37f00000000000000000000000000000000000000000000000000000000000000006003614c8b565b610bfd907f0000000000000000000000000000000000000000000000000000000000000000614ca2565b9050808362ffffff161080610c3f575080610c3d62ffffff85167f0000000000000000000000000000000000000000000000000000000000000000614ca2565b105b15610c5657610c4e8185614c8b565b915050610b9f565b610c8562ffffff84167f0000000000000000000000000000000000000000000000000000000000000000614ca2565b610c4e9085614c8b565b5092915050565b6000610cf86000805160206158938339815191525b336000908152600291909101602090815260409182902054825180840190935260158352743ab730baba3437b934bd32b2103932b837b93a32b960591b9183019190915260ff1690612b26565b60005b82811015610fef576001610d32858584818110610d1a57610d1a614c75565b9050602002810190610d2c9190614cb5565b35612b38565b6003811115610d4357610d436145a8565b14610e28577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610d7b57610d7b614c75565b9050602002810190610d8d9190614cb5565b6040516353e8875160e11b815290359073__WitnetOracleDataLib___________________9063a7d10ea290610dc890600190600401614930565b600060405180830381865af4158015610de5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0d9190810190614d24565b604051610e1b929190614d58565b60405180910390a1610fe7565b838382818110610e3a57610e3a614c75565b9050602002810190610e4c9190614cb5565b610e5d906040810190602001614d71565b63ffffffff161580610ea05750838382818110610e7c57610e7c614c75565b9050602002810190610e8e9190614cb5565b610e9c906060810190614d8c565b1590505b15610f1e577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610ed857610ed8614c75565b9050602002810190610eea9190614cb5565b35610ef3612782565b604051602001610f039190614dd2565b60408051601f1981840301815290829052610e1b9291614d58565b610fda848483818110610f3357610f33614c75565b9050602002810190610f459190614cb5565b35858584818110610f5857610f58614c75565b9050602002810190610f6a9190614cb5565b610f7b906040810190602001614d71565b868685818110610f8d57610f8d614c75565b9050602002810190610f9f9190614cb5565b60400135878786818110610fb557610fb5614c75565b9050602002810190610fc79190614cb5565b610fd5906060810190614d8c565b612bb9565b610fe49083614ca2565b91505b600101610cfb565b508015610b9f57610b9f3382612d98565b6040805160a08101825260008082526020820181905291810182905260608082019290925260808101919091528160038061103a83612b38565b600381111561104b5761104b6145a8565b146110da576040516353e8875160e11b81526110d59073__WitnetOracleDataLib___________________9063a7d10ea29061108b908590600401614930565b600060405180830381865af41580156110a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110d09190810190614d24565b610a28565b611290565b836111236110e782612dce565b546040805180820190915260118152703737ba103a3432903932b8bab2b9ba32b960791b60208201526001600160a01b03909116331490612b26565b61112c85612dce565b6040805160a0810182526004830180546001600160a01b0381168352600160a01b81046001600160401b03166020840152600160e01b900463ffffffff1692820192909252600583015460608201526006909201805460808401919061119190614e0b565b80601f01602080910402602001604051908101604052809291908181526020018280546111bd90614e0b565b801561120a5780601f106111df5761010080835404028352916020019161120a565b820191906000526020600020905b8154815290600101906020018083116111ed57829003601f168201915b505050505081525050935061122a60008051602061589383398151915290565b6000868152600191820160205260408120818155918290829061124f908301826141af565b506000600282018190556003909101805468ffffffffffffffffff1916905560048301818155600584018290559061128a60068501826141af565b50505050505b5050919050565b6112db6040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b6112e482612dce565b6040805160c08101825282546001600160a01b0381168252600160a01b810462ffffff166020830152600160b81b90046001600160481b03169181019190915260018201805491929160608401919061133c90614e0b565b80601f016020809104026020016040519081016040528092919081815260200182805461136890614e0b565b80156113b55780601f1061138a576101008083540402835291602001916113b5565b820191906000526020600020905b81548152906001019060200180831161139857829003601f168201915b5050509183525050600282015460208083019190915260408051808201825260039094015460ff8116855261010090046001600160401b031691840191909152015292915050565b6000610b9f82612dec565b611410612f04565b60005b815181101561148657600082828151811061143057611430614c75565b60200260200101519050600061145160008051602061589383398151915290565b6001600160a01b0392909216600090815260029092016020526040909120805460ff1916911515919091179055600101611413565b507f646436560d9757cb3c0f01da0f62642c6040b00c9a80685f94ef1a7725cad5f1816040516114b69190614e3f565b60405180910390a150565b60006114cd3a84612088565b61150681345b1015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b815250612b26565b61154461151482600a614c8b565b3411156040518060400160405280600f81526020016e1d1bdbc81b5d58da081c995dd85c99608a1b815250612b26565b8261157a61155182612f31565b6040518060400160405280600b81526020016a696e76616c696420534c4160a81b815250612b26565b61158685856000612f8a565b92507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a6168334866040516115bb93929190614ea4565b60405180910390a1505092915050565b6000546001600160a01b031660608161161e576060838060200190518101906115f49190614eeb565b90935090506116028361305e565b808060200190518101906116169190614f3b565b915050611678565b611661826001600160a01b0316336001600160a01b0316146040518060400160405280600d81526020016c3737ba103a34329037bbb732b960991b815250612b26565b828060200190518101906116759190614f3b565b90505b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe54158015906116e957507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b1561171f5761171f6040518060400160405280601081526020016f185b1c9958591e481d5c19dc9859195960821b815250610a28565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe55604080518082019091526012815271696e6578697374656e7420666163746f727960701b60208201526117c3907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163b151590612b26565b611896630db7c58b60e41b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611836573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185a9190614fd4565b6001600160e01b0319161460405180604001604052806013815260200172756e636f6d706c69616e7420666163746f727960681b815250612b26565b611a1d306001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166346d1d21a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611901573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119259190614ffe565b6001600160a01b03161480156119ed57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e29190614ffe565b6001600160a01b0316145b60405180604001604052806012815260200171646973636f7264616e7420666163746f727960701b815250612b26565b611a2681613077565b7f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f6611aa5611b7c565b604051611ab2919061482f565b60405180910390a4505050565b6040516251ca3160e21b815260609073__WitnetOracleDataLib___________________9063014728c490611b1c907f0000000000000000000000000000000000000000000000000000000000000000908790879060040161501b565b600060405180830381865af4158015611b39573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b619190810190615065565b9392505050565b611b70612f04565b611b7981613077565b50565b6060611ba77f000000000000000000000000000000000000000000000000000000000000000061311d565b905090565b6060816001600160401b03811115611bc657611bc66145e0565b604051908082528060200260200182016040528015611bef578160200160208202803683370190505b50905060005b82811015610c8f57611c1e848483818110611c1257611c12614c75565b90506020020135612b38565b828281518110611c3057611c30614c75565b60200260200101906003811115611c4957611c496145a8565b90816003811115611c5c57611c5c6145a8565b905250600101611bf5565b6000611c80600080516020615893833981519152610cab565b84600180611c8d83612b38565b6003811115611c9e57611c9e6145a8565b14611ce3576040516353e8875160e11b8152611cde9073__WitnetOracleDataLib___________________9063a7d10ea29061108b908590600401614930565b611d2d565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b6020820152611d1d9085151590612b26565b611d2a87428888886131c1565b92505b5050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000008015610b9f5750816001600160a01b0316611d7d6000546001600160a01b031690565b6001600160a01b03161492915050565b6000610b9f82612b38565b611da0612f04565b611daa600061305e565b565b60015433906001600160a01b03168114611e1a5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610a68565b611b798161305e565b6000602061ffff831615611e4157611e3c600184615120565b611e44565b60005b611e4e919061513b565b611e5990600461515c565b611e879061ffff167f0000000000000000000000000000000000000000000000000000000000000000614c8b565b611eb1907f0000000000000000000000000000000000000000000000000000000000000000614ca2565b611b619084614c8b565b6060611ec6826131e5565b6002018054611ed490614e0b565b80601f0160208091040260200160405190810160405280929190818152602001828054611f0090614e0b565b8015611f4d5780601f10611f2257610100808354040283529160200191611f4d565b820191906000526020600020905b815481529060010190602001808311611f3057829003601f168201915b50505050509050919050565b60008060005b8781101561207c576001611f7e8a8a84818110611c1257611c12614c75565b6003811115611f8f57611f8f6145a8565b03612074576000611fb78a8a84818110611fab57611fab614c75565b90506020020135612dce565b8054909150611fd690600160b81b90046001600160481b031685614ca2565b8154909450600160a01b900462ffffff1615612016578054612005908790600160a01b900462ffffff16610ba5565b61200f9084614ca2565b9250612046565b60028101541561202e57612005868260020154612088565b612039866000611e23565b6120439084614ca2565b92505b8461205382600301613206565b6001600160401b03166120669190614c8b565b6120709084614ca2565b9250505b600101611f5f565b50965096945050505050565b604051633b5bc50360e11b81526004810182905260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906376b78a0690602401602060405180830381865afa1580156120f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121169190615177565b905061214c60008261ffff16116040518060400160405280600b81526020016a1a5b9d985b1a590814905160aa1b815250612b26565b6121568482611e23565b949350505050565b60003382612218823b158015906121d957506040516323d0872b60e11b81523060048201526001600160a01b038416906347a10e56906024015b602060405180830381865afa1580156121b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121d99190615194565b80156121ea575060008262ffffff16115b6040518060400160405280601081526020016f696e76616c69642063616c6c6261636b60801b815250612b26565b6122233a5b85610ba5565b61222d81346114d3565b61223b61151482600a614c8b565b8561224861155182612f31565b61225460008888612f8a565b9450888861226187612dce565b60010191612270919083615206565b507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a6168534896040516122a493929190614ea4565b60405180910390a150505050949350505050565b60408051808201909152600081526060602082015260006122d883612dec565b905073__WitnetErrorsLib_______________________63a62b8462826122fe866131e5565b6002016040518363ffffffff1660e01b815260040161231e9291906152c6565b600060405180830381865af492505050801561235c57506040513d6000823e601f3d908101601f191682016040526123599190810190615365565b60015b611b61576123686153fe565b806308c379a0036123c4575061237c61541a565b8061238757506123c6565b604080518082019091528060008152602001826040516020016123aa91906154a3565b60408051601f198184030181529190529052949350505050565b505b3d8080156123f0576040519150601f19603f3d011682016040523d82523d6000602084013e6123f5565b606091505b50604080518082019091528060008152602001604051806060016040528060218152602001615872602191399052949350505050565b50919050565b6124396141e9565b60008281526000805160206158b383398151915260205260409081902081516101008101835281546001600160a01b038116938201938452600160a01b810462ffffff166060830152600160b81b90046001600160481b03166080820152600182018054919384929091849160a0850191906124b490614e0b565b80601f01602080910402602001604051908101604052809291908181526020018280546124e090614e0b565b801561252d5780601f106125025761010080835404028352916020019161252d565b820191906000526020600020905b81548152906001019060200180831161251057829003601f168201915b5050509183525050600282015460208083019190915260408051808201825260039094015460ff8116855261010090046001600160401b039081168584015292810193909352928452815160a0810183526004860180546001600160a01b0381168352600160a01b810490931682860152600160e01b90920463ffffffff1692810192909252600585015460608301526006850180549490930193919290916080840191906125db90614e0b565b80601f016020809104026020016040519081016040528092919081815260200182805461260790614e0b565b80156126545780601f1061262957610100808354040283529160200191612654565b820191906000526020600020905b81548152906001019060200180831161263757829003601f168201915b5050509190925250505090525092915050565b6000612680600080516020615893833981519152610cab565b8560018061268d83612b38565b600381111561269e5761269e6145a8565b146126e3576040516353e8875160e11b81526126de9073__WitnetOracleDataLib___________________9063a7d10ea29061108b908590600401614930565b612777565b61272d60008863ffffffff161180156127025750428863ffffffff1611155b6040518060400160405280600d81526020016c06261642074696d657374616d7609c1b815250612b26565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b60208201526127679085151590612b26565b61277488888888886131c1565b92505b505095945050505050565b60408051808201909152601c81527f5769746e65744f7261636c65547275737461626c6544656661756c7400000000602082015290565b600060008051602061589383398151915254611ba7906001614ca2565b60003382612814823b158015906121d957506040516323d0872b60e11b81523060048201526001600160a01b038416906347a10e5690602401612198565b61281d3a61221d565b61282781346114d3565b61283561151482600a614c8b565b8561284261155182612f31565b61284d888888612f8a565b94507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61685348960405161288293929190614ea4565b60405180910390a1505050509392505050565b806001806128a283612b38565b60038111156128b3576128b36145a8565b146128f8576040516353e8875160e11b81526128f39073__WitnetOracleDataLib___________________9063a7d10ea29061108b908590600401614930565b505050565b600061290384612dce565b90503481548290601790612928908490600160b81b90046001600160481b03166154dc565b82546101009290920a6001600160481b03818102199093169183160217909155825460408051888152600160b81b90920490921660208201527fdcced240139c3504c690fc16a776a5a4da3d5d1c139539e75037554ddc21e55b92500160405180910390a150505050565b61299b612f04565b600180546001600160a01b0383166001600160a01b031990911681179091556129cc6000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6040805160a0810182526000808252602082018190529181018290526060808201929092526080810191909152612a3a826131e5565b6040805160a08101825282546001600160a01b0381168252600160a01b81046001600160401b03166020830152600160e01b900463ffffffff169181019190915260018201546060820152600282018054919291608084019190612a9d90614e0b565b80601f0160208091040260200160405190810160405280929190818152602001828054612ac990614e0b565b8015612b165780601f10612aeb57610100808354040283529160200191612b16565b820191906000526020600020905b815481529060010190602001808311612af957829003601f168201915b5050505050815250509050919050565b81612b3457612b3481610a28565b5050565b60008181526000805160206158b3833981519152602052604081206004810154600160e01b900463ffffffff1615612b97576004810154600160a01b90046001600160401b03164310612b8e5750600392915050565b50600292915050565b80546001600160a01b031615612bb05750600192915050565b50600092915050565b600080612bc587612dce565b80546001600160b81b038116808355600160b81b9091046001600160481b03169350909150600160a01b900462ffffff1615612d1157805460009081908190612c34908b9063ffffffff8c16908b908b908b906001600160a01b03811690600160a01b900462ffffff16613236565b9250925092508115612c8457604080518b81523a602082015280820185905290517f37fc320f2d5c58a36c657d3b047384d42550bcc0d9781d13a7d97f8a97c2370c9181900360600190a1612cee565b7f794f0625cb473a6fc2bbc46c87577b8e719f074c42f7fe02abdf08e7435b1d8d8a88883a876000875111612cd15760405180606001604052806029815260200161584960299139612cd3565b865b604051612ce5969594939291906154fc565b60405180910390a15b612d098a8a8a604051806020016040528060008152506135cc565b505050612d8e565b7f1fd7bc07c18ac1c4f6d3111c704cd1b4c29b9f7980b7c5a9a2fddeef29d6c277873a6040805192835260208301919091520160405180910390a1612d8e87878787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506135cc92505050565b5095945050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156128f3573d6000803e3d6000fd5b60009081526000805160206158b38339815191526020526040902090565b600080612df883612b38565b90506003816003811115612e0e57612e0e6145a8565b03612ec05760008381526000805160206158b38339815191526020526040812060060180549091908290612e4190614e0b565b90501115612eb6578054601b60fb1b908290600090612e5f90614e0b565b8110612e6d57612e6d614c75565b815460011615612e8c5790600052602060002090602091828204019190065b9054901a600160f81b026001600160f81b03191614612eac576002612156565b6003949350505050565b5060059392505050565b6001816003811115612ed457612ed46145a8565b03612ee25750600192915050565b6002816003811115612ef657612ef66145a8565b03612bb05750600492915050565b6000546001600160a01b03163314611daa5760405163118cdaa760e01b8152336004820152602401610a68565b600080612f446040840160208501615559565b6001600160401b0316118015612f6957506000612f646020840184615576565b60ff16115b8015610b9f5750607f612f7f6020840184615576565b60ff16111592915050565b60006000805160206158938339815191528054600090612fa990615593565b918290555090506000612fbb82612dce565b805460408051808201909152600e81526d185b1c9958591e481c1bdcdd195960921b6020820152919250612ffb916001600160a01b039091161590612b26565b8054346001600160481b0316600160b81b026001600160b81b03199091163362ffffff60a01b191617600160a01b62ffffff861602176001600160b81b031617815560028101859055836003820161305382826155ac565b905050509392505050565b600180546001600160a01b0319169055611b7981613699565b60005b81518110156130ed57600082828151811061309757613097614c75565b6020026020010151905060016130b860008051602061589383398151915290565b6001600160a01b0392909216600090815260029092016020526040909120805460ff191691151591909117905560010161307a565b507f4d570ee36dec878006609360d34ac8d6a0b68d521871ae15a407b6340877ca01816040516114b69190614e3f565b6060600061312a836136e9565b6001600160401b03811115613141576131416145e0565b6040519080825280601f01601f19166020018201604052801561316b576020820181803683370190505b50905060005b8151811015610c8f5783816020811061318c5761318c614c75565b1a60f81b8282815181106131a2576131a2614c75565b60200101906001600160f81b031916908160001a905350600101613171565b60006131d08686868686612bb9565b90506131dc3382612d98565b95945050505050565b60009081526000805160206158b38339815191526020526040902060040190565b80546000906132199060ff166003614c3a565b8254610b9f9160ff169061010090046001600160401b03166155fc565b60008060605a9250601b60fb1b878760008161325457613254614c75565b9050013560f81c60f81b6001600160f81b031916036134a45760006132b66132b189898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061372792505050565b61374c565b90506002815110156133dd57856001600160a01b03166363febc9c868d8d8d4360006040518060c00160405280604051806040016040528060405180602001604052806000815250815260200160008152508152602001600060ff168152602001600060ff168152602001600060ff16815260200160006001600160401b0316815260200160006001600160401b03168152506040518863ffffffff1660e01b815260040161336a969594939291906156a8565b600060405180830381600088803b15801561338457600080fd5b5087f193505050508015613396575060015b6133d4576133a26153fe565b806308c379a0036133c857506133b661541a565b806133c157506133ca565b915061349e565b505b3d6000803e3d6000fd5b6001925061349e565b856001600160a01b03166363febc9c868d8d8d436134148860008151811061340757613407614c75565b60200260200101516138fc565b60fe811115613425576134256145a8565b8860008151811061343857613438614c75565b60200260200101516040518863ffffffff1660e01b8152600401613461969594939291906156a8565b600060405180830381600088803b15801561347b57600080fd5b5087f19350505050801561348d575060015b613499576133a26153fe565b600192505b506135b2565b846001600160a01b031663bcc6307b858c8c8c436134f78e8e8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061372792505050565b6040518763ffffffff1660e01b81526004016135179594939291906156f5565b600060405180830381600088803b15801561353157600080fd5b5087f193505050508015613543575060015b6135ad5761354f6153fe565b806308c379a003613575575061356361541a565b8061356e5750613577565b90506135b2565b505b3d8080156135a1576040519150601f19603f3d011682016040523d82523d6000602084013e6135a6565b606091505b50506135b2565b600191505b5a6135bd9084615729565b92509750975097945050505050565b6040518060a00160405280336001600160a01b03168152602001436001600160401b031681526020018463ffffffff1681526020018381526020018281525061361485612dce565b81516004820180546020850151604086015163ffffffff16600160e01b026001600160e01b036001600160401b03909216600160a01b026001600160e01b03199093166001600160a01b03909516949094179190911716919091178155606083015160058301556080830151909160060190613690908261573c565b50505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b60208110156137225781816020811061370757613707614c75565b1a60f81b6001600160f81b03191615613722576001016136ec565b919050565b61372f61426b565b6040805180820190915282815260006020820152611b618161395f565b60608160048060ff16826040015160ff161461378c57604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b60006137a085600001518660600151613a7f565b90506137ad8160016157fb565b6001600160401b03166001600160401b038111156137cd576137cd6145e0565b60405190808252806020026020018201604052801561380657816020015b6137f361426b565b8152602001906001900390816137eb5790505b50935060005b816001600160401b03168110156138cc5761382686613b47565b955061383186613b6f565b85828151811061384357613843614c75565b6020026020010181905250600460ff16866040015160ff160361389c57600061386b8761374c565b9050806001825161387c9190615729565b8151811061388c5761388c614c75565b60200260200101519650506138c4565b600560ff16866040015160ff16036138b957600061386b87613c07565b6138c286613df1565b505b60010161380c565b508484826001600160401b0316815181106138e9576138e9614c75565b6020026020010181905250505050919050565b60008160008060ff16826040015160ff161461393c57604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b61394e84600001518560600151613a7f565b6001600160401b0316949350505050565b61396761426b565b815151829060000361398c576040516309036d4760e21b815260040160405180910390fd5b600060ff816001600160401b038160015b8015613a0f576139ac89613fb6565b9550816139b881615593565b6007600589901c169650601f881695509250506005198501613a075760208901516139e38a86613a7f565b9350808a602001516139f59190615729565b6139ff9084614ca2565b92505061399d565b50600061399d565b600760ff86161115613a395760405163bd2ac87960e01b815260ff86166004820152602401610a68565b506040805160c08101825298895260ff95861660208a015293851693880193909352921660608601526001600160401b0390811660808601521660a08401525090919050565b600060188260ff161015613a97575060ff8116610b9f565b8160ff16601803613ab557613aab83613fb6565b60ff169050610b9f565b8160ff16601903613ad457613ac983614018565b61ffff169050610b9f565b8160ff16601a03613af557613ae883614084565b63ffffffff169050610b9f565b8160ff16601b03613b1057613b09836140e3565b9050610b9f565b8160ff16601f03613b2957506001600160401b03610b9f565b604051636d785b1360e01b815260ff83166004820152602401610a68565b613b4f61426b565b81518051516020909101511015613b6b578151610b9f9061395f565b5090565b613b7761426b565b6040805160c081018083528451610100830184526060909152600060e0830152825180840190935280518352602090810151908301529081908152602001836020015160ff168152602001836040015160ff168152602001836060015160ff16815260200183608001516001600160401b031681526020018360a001516001600160401b03168152509050919050565b60608160058060ff16826040015160ff1614613c4757604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b6000613c5b85600001518660600151613a7f565b613c669060026155fc565b9050613c738160016157fb565b6001600160401b03166001600160401b03811115613c9357613c936145e0565b604051908082528060200260200182016040528015613ccc57816020015b613cb961426b565b815260200190600190039081613cb15790505b50935060005b816001600160401b03168110156138cc57613cec86613b47565b9550613cf786613b6f565b858281518110613d0957613d09614c75565b6020908102919091010152613d1f60028261581b565b158015613d345750604086015160ff16600314155b15613d6257604080870151905161800560e51b815260ff909116600482015260036024820152604401610a68565b604086015160ff1660041480613d7f5750604086015160ff166005145b15613dde57604086015160009060ff16600414613da457613d9f87613c07565b613dad565b613dad8761374c565b90508060018251613dbe9190615729565b81518110613dce57613dce614c75565b6020026020010151965050613de9565b613de786613df1565b505b600101613cd2565b613df961426b565b604082015160ff161580613e145750604082015160ff166001145b80613e4d5750604082015160ff166007148015613e3957506019826060015160ff1610155b8015613e4d5750601b826060015160ff1611155b15613e8057613e5b82614142565b6001600160401b03168260000151602001818151613e799190614ca2565b9052505090565b604082015160ff1660031480613e9d5750604082015160ff166002145b15613ee1576000613eb683600001518460600151613a7f565b9050806001600160401b03168360000151602001818151613ed79190614ca2565b905250613b6b9050565b604082015160ff1660041480613efe5750604082015160ff166005145b15613f2757613f1582600001518360600151613a7f565b6001600160401b031660808301525090565b604082015160ff166007141580613f595750816060015160ff16601414158015613f595750816060015160ff16601514155b15613b6b5760405162461bcd60e51b815260206004820152602760248201527f5769746e657443424f522e736b69703a20756e737570706f72746564206d616a6044820152666f72207479706560c81b6064820152608401610a68565b6000816020015182600001515180821115613fee576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b835160208501805180830160010151955090819061400b82615593565b8152505050505050919050565b60008160200151600261402b9190614ca2565b82515180821115614059576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516002818401810151965090916140778284614ca2565b9052509395945050505050565b6000816020015160046140979190614ca2565b825151808211156140c5576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516004818401810151965090916140778284614ca2565b6000816020015160086140f69190614ca2565b82515180821115614124576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516008818401810151965090916140778284614ca2565b60006018826060015160ff16101561415c57506000919050565b601c826060015160ff16101561418b576018826060015161417d919061582f565b60ff166001901b9050919050565b6060820151604051636d785b1360e01b815260ff9091166004820152602401610a68565b5080546141bb90614e0b565b6000825580601f106141cb575050565b601f016020900490600052602060002090810190611b7991906142b2565b60405180604001604052806142386040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b81526040805160a08101825260008082526020828101829052928201819052606080830191909152608082015291015290565b604080516101008101909152606060c08201908152600060e08301528190815260006020820181905260408201819052606082018190526080820181905260a09091015290565b5b80821115613b6b57600081556001016142b3565b60005b838110156142e25781810151838201526020016142ca565b50506000910152565b720dcdee840d2dae0d8cadacadce8cac8744060f606b1b815260008551614319816013850160208a016142c7565b855190830190614330816013840160208a016142c7565b85519101906143468160138401602089016142c7565b845191019061435c8160138401602088016142c7565b016013019695505050505050565b6001600160a01b0381168114611b7957600080fd5b60006020828403121561439157600080fd5b8135611b618161436a565b803562ffffff8116811461372257600080fd5b600080604083850312156143c257600080fd5b823591506143d26020840161439c565b90509250929050565b60008083601f8401126143ed57600080fd5b5081356001600160401b0381111561440457600080fd5b6020830191508360208260051b850101111561441f57600080fd5b9250929050565b6000806020838503121561443957600080fd5b82356001600160401b0381111561444f57600080fd5b61445b858286016143db565b90969095509350505050565b60006020828403121561447957600080fd5b5035919050565b600081518084526144988160208601602086016142c7565b601f01601f19169290920160200192915050565b60018060a01b0381511682526001600160401b03602082015116602083015263ffffffff6040820151166040830152606081015160608301526000608082015160a0608085015261215660a0850182614480565b602081526000611b6160208301846144ac565b60018060a01b03815116825262ffffff60208201511660208301526001600160481b0360408201511660408301526000606082015160e0606085015261455c60e0850182614480565b90506080830151608085015260a083015160ff81511660a08601526001600160401b0360208201511660c0860152508091505092915050565b602081526000611b616020830184614513565b634e487b7160e01b600052602160045260246000fd5b600681106145ce576145ce6145a8565b9052565b60208101610b9f82846145be565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b038111828210171561461b5761461b6145e0565b6040525050565b60006001600160401b0382111561463b5761463b6145e0565b5060051b60200190565b6000602080838503121561465857600080fd5b82356001600160401b0381111561466e57600080fd5b8301601f8101851361467f57600080fd5b803561468a81614622565b60405161469782826145f6565b82815260059290921b83018401918481019150878311156146b757600080fd5b928401925b828410156146de5783356146cf8161436a565b825292840192908401906146bc565b979650505050505050565b60006040828403121561242b57600080fd5b6000806060838503121561470e57600080fd5b823591506143d284602085016146e9565b60006001600160401b03821115614738576147386145e0565b50601f01601f191660200190565b60006020828403121561475857600080fd5b81356001600160401b0381111561476e57600080fd5b8201601f8101841361477f57600080fd5b803561478a8161471f565b60405161479782826145f6565b8281528660208486010111156147ac57600080fd5b8260208501602083013760009281016020019290925250949350505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561482257603f19888603018452614810858351614480565b945092850192908501906001016147f4565b5092979650505050505050565b602081526000611b616020830184614480565b600481106145ce576145ce6145a8565b6020808252825182820181905260009190848201906040850190845b8181101561489157614881838551614842565b928401929184019160010161486e565b50909695505050505050565b60008083601f8401126148af57600080fd5b5081356001600160401b038111156148c657600080fd5b60208301915083602082850101111561441f57600080fd5b600080600080606085870312156148f457600080fd5b843593506020850135925060408501356001600160401b0381111561491857600080fd5b6149248782880161489d565b95989497509550505050565b60208101610b9f8284614842565b61ffff81168114611b7957600080fd5b6000806040838503121561496157600080fd5b8235915060208301356149738161493e565b809150509250929050565b6000806000806000806080878903121561499757600080fd5b86356001600160401b03808211156149ae57600080fd5b6149ba8a838b016143db565b909850965060208901359150808211156149d357600080fd5b506149e089828a0161489d565b979a9699509760408101359660609091013595509350505050565b60008060408385031215614a0e57600080fd5b50508035926020909101359150565b60008060008060808587031215614a3357600080fd5b84356001600160401b03811115614a4957600080fd5b614a558782880161489d565b9095509350614a69905086602087016146e9565b9150614a776060860161439c565b905092959194509250565b60ff81106145ce576145ce6145a8565b60208152614aa4602082018351614a82565b600060208301516040808401526121566060840182614480565b602081526000825160406020840152614ada6060840182614513565b90506020840151601f198483030160408501526131dc82826144ac565b803563ffffffff8116811461372257600080fd5b600080600080600060808688031215614b2357600080fd5b85359450614b3360208701614af7565b93506040860135925060608601356001600160401b03811115614b5557600080fd5b614b618882890161489d565b969995985093965092949392505050565b600080600060808486031215614b8757600080fd5b83359250614b9885602086016146e9565b9150614ba66060850161439c565b90509250925092565b60008351614bc18184602088016142c7565b6101d160f51b9083019081528351614be08160028401602088016142c7565b01600201949350505050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff831680614c2b57614c2b614bec565b8060ff84160491505092915050565b60ff8181168382160190811115610b9f57610b9f614c02565b600060ff831680614c6657614c66614bec565b8060ff84160691505092915050565b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417610b9f57610b9f614c02565b80820180821115610b9f57610b9f614c02565b60008235607e19833603018112614ccb57600080fd5b9190910192915050565b600082601f830112614ce657600080fd5b8151614cf18161471f565b604051614cfe82826145f6565b828152856020848701011115614d1357600080fd5b6131dc8360208301602088016142c7565b600060208284031215614d3657600080fd5b81516001600160401b03811115614d4c57600080fd5b61215684828501614cd5565b8281526040602082015260006121566040830184614480565b600060208284031215614d8357600080fd5b611b6182614af7565b6000808335601e19843603018112614da357600080fd5b8301803591506001600160401b03821115614dbd57600080fd5b60200191503681900382131561441f57600080fd5b60008251614de48184602087016142c7565b743a20696e76616c6964207265706f7274206461746160581b920191825250601501919050565b600181811c90821680614e1f57607f821691505b60208210810361242b57634e487b7160e01b600052602260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156148915783516001600160a01b031683529284019291840191600101614e5b565b60ff81168114611b7957600080fd5b6001600160401b0381168114611b7957600080fd5b83815260208101839052608081018235614ebd81614e80565b60ff1660408301526020830135614ed381614e8f565b6001600160401b038116606084015250949350505050565b60008060408385031215614efe57600080fd5b8251614f098161436a565b60208401519092506001600160401b03811115614f2557600080fd5b614f3185828601614cd5565b9150509250929050565b60006020808385031215614f4e57600080fd5b82516001600160401b03811115614f6457600080fd5b8301601f81018513614f7557600080fd5b8051614f8081614622565b604051614f8d82826145f6565b82815260059290921b8301840191848101915087831115614fad57600080fd5b928401925b828410156146de578351614fc58161436a565b82529284019290840190614fb2565b600060208284031215614fe657600080fd5b81516001600160e01b031981168114611b6157600080fd5b60006020828403121561501057600080fd5b8151611b618161436a565b6001600160a01b0384168152604060208201819052810182905260006001600160fb1b0383111561504b57600080fd5b8260051b8085606085013791909101606001949350505050565b6000602080838503121561507857600080fd5b82516001600160401b038082111561508f57600080fd5b818501915085601f8301126150a357600080fd5b81516150ae81614622565b6040516150bb82826145f6565b82815260059290921b84018501918581019150888311156150db57600080fd5b8585015b83811015615113578051858111156150f75760008081fd5b6151058b89838a0101614cd5565b8452509186019186016150df565b5098975050505050505050565b61ffff828116828216039080821115610c8f57610c8f614c02565b600061ffff8084168061515057615150614bec565b92169190910492915050565b61ffff818116838216019080821115610c8f57610c8f614c02565b60006020828403121561518957600080fd5b8151611b618161493e565b6000602082840312156151a657600080fd5b81518015158114611b6157600080fd5b601f8211156128f3576000816000526020600020601f850160051c810160208610156151df5750805b601f850160051c820191505b818110156151fe578281556001016151eb565b505050505050565b6001600160401b0383111561521d5761521d6145e0565b6152318361522b8354614e0b565b836151b6565b6000601f841160018114615265576000851561524d5750838201355b600019600387901b1c1916600186901b1783556152bf565b600083815260209020601f19861690835b828110156152965786850135825560209485019460019092019101615276565b50868210156152b35760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6152d081846145be565b6000602060406020840152600084546152e881614e0b565b806040870152606060018084166000811461530a576001811461532657615356565b60ff19851660608a0152606084151560051b8a01019550615356565b89600052602060002060005b8581101561534d5781548b8201860152908301908801615332565b8a016060019650505b50939998505050505050505050565b60006020828403121561537757600080fd5b81516001600160401b038082111561538e57600080fd5b90830190604082860312156153a257600080fd5b6040516040810181811083821117156153bd576153bd6145e0565b604052825160ff81106153cf57600080fd5b81526020830151828111156153e357600080fd5b6153ef87828601614cd5565b60208301525095945050505050565b600060033d11156154175760046000803e5060005160e01c5b90565b600060443d10156154285790565b6040516003193d81016004833e81513d6001600160401b03816024840111818411171561545757505050505090565b828501915081518181111561546f5750505050505090565b843d87010160208285010111156154895750505050505090565b615498602082860101876145f6565b509095945050505050565b7002bb4ba3732ba22b93937b939a634b11d1607d1b8152600082516154cf8160118501602087016142c7565b9190910160110192915050565b6001600160481b03818116838216019080821115610c8f57610c8f614c02565b86815260a060208201528460a0820152848660c0830137600060c086830101526000601f19601f870116820185604084015284606084015260c083820301608084015261554c60c0820185614480565b9998505050505050505050565b60006020828403121561556b57600080fd5b8135611b6181614e8f565b60006020828403121561558857600080fd5b8135611b6181614e80565b6000600182016155a5576155a5614c02565b5060010190565b81356155b781614e80565b60ff8116905081548160ff19821617835560208401356155d681614e8f565b68ffffffffffffffff008160081b16836001600160481b03198416171784555050505050565b6001600160401b0381811683821602808216919082811461561f5761561f614c02565b505092915050565b6000815160c084528051604060c0860152615646610100860182614480565b9050602082015160e086015260ff602085015116602086015260ff604085015116604086015260ff6060850151166060860152608084015191506001600160401b0380831660808701528060a08601511660a087015250809250505092915050565b8681526001600160401b03861660208201528460408201528360608201526156d36080820184614a82565b60c060a082015260006156e960c0830184615627565b98975050505050505050565b8581526001600160401b038516602082015283604082015282606082015260a0608082015260006146de60a0830184615627565b81810381811115610b9f57610b9f614c02565b81516001600160401b03811115615755576157556145e0565b615769816157638454614e0b565b846151b6565b602080601f83116001811461579e57600084156157865750858301515b600019600386901b1c1916600185901b1785556151fe565b600085815260208120601f198616915b828110156157cd578886015182559484019460019091019084016157ae565b50858210156157eb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160401b03818116838216019080821115610c8f57610c8f614c02565b60008261582a5761582a614bec565b500690565b60ff8281168282160390811115610b9f57610b9f614c0256fe5769746e65744f7261636c653a2063616c6c6261636b20657863656564656420676173206c696d69745769746e65744572726f72734c69623a20617373657274696f6e206661696c6564f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e184a2646970667358221220816bea638f4c44a5cdff92a83052c00190508fb799cc28569d36a4f728b4c7b064736f6c63430008190033",
  "deployedBytecode": "0x6080604052600436106102765760003560e01c80637b1039991161014f578063aeb2ffc1116100c1578063e30c39781161007a578063e30c397814610970578063e5a6b10f1461098e578063e900aa33146109c2578063ec5946db146109d5578063f2fde38b146109e8578063f61921b214610a08576102b3565b8063aeb2ffc114610892578063b207e730146108bf578063bff852fa146108df578063c45a0155146108f4578063c805dd0f14610927578063d5f394881461093c576102b3565b806393d5185c1161011357806393d5185c146107955780639cc56e67146107ca578063a3ff5b00146107ea578063a77fc1a4146107fd578063a9e954b91461082a578063adb7c3f71461085e576102b3565b80637b103999146106b35780637bbdb96e146106e75780637bd88218146107375780638d3d8b38146107575780638da5cb5b14610777576102b3565b80635001f3b5116101e85780636280bce8116101ac5780636280bce8146105d25780636b58960a146105f25780636f07abcc146106125780636fdaab7e1461063f578063715018a61461068957806379ba50971461069e576102b3565b80635001f3b5146104d557806352d1902d1461051c5780635479d9401461055057806354fd4d5014610583578063581f5094146105a5576102b3565b8063234fe6e31161023a578063234fe6e31461040857806328a78d9b146104355780633dc2b7a214610455578063439fab911461046857806345ea6c17146104885780634c9f72e3146104b5576102b3565b8063044ad7be1461032b57806305e742ef1461036057806306eb2c421461038e57806308b7e85e146103ae5780630aa4112a146103db576102b3565b366102b3576102b1604051806040016040528060158152602001741b9bc81d1c985b9cd9995c9cc81858d8d95c1d1959605a1b815250610a28565b005b3480156102bf57600080fd5b506102b16102d160003560f81c610a71565b6102e260ff60003560f01c16610a71565b6102f360ff60003560e81c16610a71565b61030460ff60003560e01c16610a71565b60405160200161031794939291906142eb565b604051602081830303815290604052610a28565b34801561033757600080fd5b5061034b61034636600461437f565b610b63565b60405190151581526020015b60405180910390f35b34801561036c57600080fd5b5061038061037b3660046143af565b610ba5565b604051908152602001610357565b34801561039a57600080fd5b506103806103a9366004614426565b610c96565b3480156103ba57600080fd5b506103ce6103c9366004614467565b611000565b6040516103579190614500565b3480156103e757600080fd5b506103fb6103f6366004614467565b611297565b6040516103579190614595565b34801561041457600080fd5b50610428610423366004614467565b6113fd565b60405161035791906145d2565b34801561044157600080fd5b506102b1610450366004614645565b611408565b6103806104633660046146fb565b6114c1565b34801561047457600080fd5b506102b1610483366004614746565b6115cb565b34801561049457600080fd5b506104a86104a3366004614426565b611abf565b60405161035791906147cb565b3480156104c157600080fd5b506102b16104d0366004614645565b611b68565b3480156104e157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610357565b34801561052857600080fd5b506103807f000000000000000000000000000000000000000000000000000000000000000081565b34801561055c57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034b565b34801561058f57600080fd5b50610598611b7c565b604051610357919061482f565b3480156105b157600080fd5b506105c56105c0366004614426565b611bac565b6040516103579190614852565b3480156105de57600080fd5b506103806105ed3660046148de565b611c67565b3480156105fe57600080fd5b5061034b61060d36600461437f565b611d37565b34801561061e57600080fd5b5061063261062d366004614467565b611d8d565b6040516103579190614930565b34801561064b57600080fd5b5061038061065a366004614467565b60009081526000805160206158b38339815191526020526040902054600160b81b90046001600160481b031690565b34801561069557600080fd5b506102b1611d98565b3480156106aa57600080fd5b506102b1611dac565b3480156106bf57600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b3480156106f357600080fd5b5060408051306020808301919091524682840152825180830384018152606090920190925280519101205b6040516001600160e01b03199091168152602001610357565b34801561074357600080fd5b5061038061075236600461494e565b611e23565b34801561076357600080fd5b50610598610772366004614467565b611ebb565b34801561078357600080fd5b506000546001600160a01b0316610504565b3480156107a157600080fd5b506107b56107b036600461497e565b611f59565b60408051928352602083019190915201610357565b3480156107d657600080fd5b506103806107e53660046149fb565b612088565b6103806107f8366004614a1d565b61215e565b34801561080957600080fd5b5061081d610818366004614467565b6122b8565b6040516103579190614a92565b34801561083657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000003f610380565b34801561086a57600080fd5b5061071e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561089e57600080fd5b506108b26108ad366004614467565b612431565b6040516103579190614abe565b3480156108cb57600080fd5b506103806108da366004614b0b565b612667565b3480156108eb57600080fd5b50610598612782565b34801561090057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610504565b34801561093357600080fd5b506103806127b9565b34801561094857600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b34801561097c57600080fd5b506001546001600160a01b0316610504565b34801561099a57600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b6103806109d0366004614b72565b6127d6565b6102b16109e3366004614467565b612895565b3480156109f457600080fd5b506102b1610a0336600461437f565b612993565b348015610a1457600080fd5b506103ce610a23366004614467565b612a04565b610a30612782565b81604051602001610a42929190614baf565b60408051601f198184030181529082905262461bcd60e51b8252610a689160040161482f565b60405180910390fd5b604080516002808252818301909252606091600091906020820181803683370190505090506000610aa3601085614c18565b610aae906030614c3a565b90506000610abd601086614c53565b610ac8906030614c3a565b905060398260ff161115610ae457610ae1600783614c3a565b91505b60398160ff161115610afe57610afb600782614c3a565b90505b8160f81b83600081518110610b1557610b15614c75565b60200101906001600160f81b031916908160001a9053508060f81b83600181518110610b4357610b43614c75565b60200101906001600160f81b031916908160001a90535091949350505050565b6001600160a01b03811660009081527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e185602052604081205460ff165b92915050565b600080610bd37f00000000000000000000000000000000000000000000000000000000000000006003614c8b565b610bfd907f0000000000000000000000000000000000000000000000000000000000000000614ca2565b9050808362ffffff161080610c3f575080610c3d62ffffff85167f0000000000000000000000000000000000000000000000000000000000000000614ca2565b105b15610c5657610c4e8185614c8b565b915050610b9f565b610c8562ffffff84167f0000000000000000000000000000000000000000000000000000000000000000614ca2565b610c4e9085614c8b565b5092915050565b6000610cf86000805160206158938339815191525b336000908152600291909101602090815260409182902054825180840190935260158352743ab730baba3437b934bd32b2103932b837b93a32b960591b9183019190915260ff1690612b26565b60005b82811015610fef576001610d32858584818110610d1a57610d1a614c75565b9050602002810190610d2c9190614cb5565b35612b38565b6003811115610d4357610d436145a8565b14610e28577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610d7b57610d7b614c75565b9050602002810190610d8d9190614cb5565b6040516353e8875160e11b815290359073__WitnetOracleDataLib___________________9063a7d10ea290610dc890600190600401614930565b600060405180830381865af4158015610de5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0d9190810190614d24565b604051610e1b929190614d58565b60405180910390a1610fe7565b838382818110610e3a57610e3a614c75565b9050602002810190610e4c9190614cb5565b610e5d906040810190602001614d71565b63ffffffff161580610ea05750838382818110610e7c57610e7c614c75565b9050602002810190610e8e9190614cb5565b610e9c906060810190614d8c565b1590505b15610f1e577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610ed857610ed8614c75565b9050602002810190610eea9190614cb5565b35610ef3612782565b604051602001610f039190614dd2565b60408051601f1981840301815290829052610e1b9291614d58565b610fda848483818110610f3357610f33614c75565b9050602002810190610f459190614cb5565b35858584818110610f5857610f58614c75565b9050602002810190610f6a9190614cb5565b610f7b906040810190602001614d71565b868685818110610f8d57610f8d614c75565b9050602002810190610f9f9190614cb5565b60400135878786818110610fb557610fb5614c75565b9050602002810190610fc79190614cb5565b610fd5906060810190614d8c565b612bb9565b610fe49083614ca2565b91505b600101610cfb565b508015610b9f57610b9f3382612d98565b6040805160a08101825260008082526020820181905291810182905260608082019290925260808101919091528160038061103a83612b38565b600381111561104b5761104b6145a8565b146110da576040516353e8875160e11b81526110d59073__WitnetOracleDataLib___________________9063a7d10ea29061108b908590600401614930565b600060405180830381865af41580156110a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110d09190810190614d24565b610a28565b611290565b836111236110e782612dce565b546040805180820190915260118152703737ba103a3432903932b8bab2b9ba32b960791b60208201526001600160a01b03909116331490612b26565b61112c85612dce565b6040805160a0810182526004830180546001600160a01b0381168352600160a01b81046001600160401b03166020840152600160e01b900463ffffffff1692820192909252600583015460608201526006909201805460808401919061119190614e0b565b80601f01602080910402602001604051908101604052809291908181526020018280546111bd90614e0b565b801561120a5780601f106111df5761010080835404028352916020019161120a565b820191906000526020600020905b8154815290600101906020018083116111ed57829003601f168201915b505050505081525050935061122a60008051602061589383398151915290565b6000868152600191820160205260408120818155918290829061124f908301826141af565b506000600282018190556003909101805468ffffffffffffffffff1916905560048301818155600584018290559061128a60068501826141af565b50505050505b5050919050565b6112db6040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b6112e482612dce565b6040805160c08101825282546001600160a01b0381168252600160a01b810462ffffff166020830152600160b81b90046001600160481b03169181019190915260018201805491929160608401919061133c90614e0b565b80601f016020809104026020016040519081016040528092919081815260200182805461136890614e0b565b80156113b55780601f1061138a576101008083540402835291602001916113b5565b820191906000526020600020905b81548152906001019060200180831161139857829003601f168201915b5050509183525050600282015460208083019190915260408051808201825260039094015460ff8116855261010090046001600160401b031691840191909152015292915050565b6000610b9f82612dec565b611410612f04565b60005b815181101561148657600082828151811061143057611430614c75565b60200260200101519050600061145160008051602061589383398151915290565b6001600160a01b0392909216600090815260029092016020526040909120805460ff1916911515919091179055600101611413565b507f646436560d9757cb3c0f01da0f62642c6040b00c9a80685f94ef1a7725cad5f1816040516114b69190614e3f565b60405180910390a150565b60006114cd3a84612088565b61150681345b1015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b815250612b26565b61154461151482600a614c8b565b3411156040518060400160405280600f81526020016e1d1bdbc81b5d58da081c995dd85c99608a1b815250612b26565b8261157a61155182612f31565b6040518060400160405280600b81526020016a696e76616c696420534c4160a81b815250612b26565b61158685856000612f8a565b92507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a6168334866040516115bb93929190614ea4565b60405180910390a1505092915050565b6000546001600160a01b031660608161161e576060838060200190518101906115f49190614eeb565b90935090506116028361305e565b808060200190518101906116169190614f3b565b915050611678565b611661826001600160a01b0316336001600160a01b0316146040518060400160405280600d81526020016c3737ba103a34329037bbb732b960991b815250612b26565b828060200190518101906116759190614f3b565b90505b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe54158015906116e957507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b1561171f5761171f6040518060400160405280601081526020016f185b1c9958591e481d5c19dc9859195960821b815250610a28565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe55604080518082019091526012815271696e6578697374656e7420666163746f727960701b60208201526117c3907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163b151590612b26565b611896630db7c58b60e41b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611836573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185a9190614fd4565b6001600160e01b0319161460405180604001604052806013815260200172756e636f6d706c69616e7420666163746f727960681b815250612b26565b611a1d306001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166346d1d21a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611901573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119259190614ffe565b6001600160a01b03161480156119ed57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e29190614ffe565b6001600160a01b0316145b60405180604001604052806012815260200171646973636f7264616e7420666163746f727960701b815250612b26565b611a2681613077565b7f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f6611aa5611b7c565b604051611ab2919061482f565b60405180910390a4505050565b6040516251ca3160e21b815260609073__WitnetOracleDataLib___________________9063014728c490611b1c907f0000000000000000000000000000000000000000000000000000000000000000908790879060040161501b565b600060405180830381865af4158015611b39573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b619190810190615065565b9392505050565b611b70612f04565b611b7981613077565b50565b6060611ba77f000000000000000000000000000000000000000000000000000000000000000061311d565b905090565b6060816001600160401b03811115611bc657611bc66145e0565b604051908082528060200260200182016040528015611bef578160200160208202803683370190505b50905060005b82811015610c8f57611c1e848483818110611c1257611c12614c75565b90506020020135612b38565b828281518110611c3057611c30614c75565b60200260200101906003811115611c4957611c496145a8565b90816003811115611c5c57611c5c6145a8565b905250600101611bf5565b6000611c80600080516020615893833981519152610cab565b84600180611c8d83612b38565b6003811115611c9e57611c9e6145a8565b14611ce3576040516353e8875160e11b8152611cde9073__WitnetOracleDataLib___________________9063a7d10ea29061108b908590600401614930565b611d2d565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b6020820152611d1d9085151590612b26565b611d2a87428888886131c1565b92505b5050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000008015610b9f5750816001600160a01b0316611d7d6000546001600160a01b031690565b6001600160a01b03161492915050565b6000610b9f82612b38565b611da0612f04565b611daa600061305e565b565b60015433906001600160a01b03168114611e1a5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610a68565b611b798161305e565b6000602061ffff831615611e4157611e3c600184615120565b611e44565b60005b611e4e919061513b565b611e5990600461515c565b611e879061ffff167f0000000000000000000000000000000000000000000000000000000000000000614c8b565b611eb1907f0000000000000000000000000000000000000000000000000000000000000000614ca2565b611b619084614c8b565b6060611ec6826131e5565b6002018054611ed490614e0b565b80601f0160208091040260200160405190810160405280929190818152602001828054611f0090614e0b565b8015611f4d5780601f10611f2257610100808354040283529160200191611f4d565b820191906000526020600020905b815481529060010190602001808311611f3057829003601f168201915b50505050509050919050565b60008060005b8781101561207c576001611f7e8a8a84818110611c1257611c12614c75565b6003811115611f8f57611f8f6145a8565b03612074576000611fb78a8a84818110611fab57611fab614c75565b90506020020135612dce565b8054909150611fd690600160b81b90046001600160481b031685614ca2565b8154909450600160a01b900462ffffff1615612016578054612005908790600160a01b900462ffffff16610ba5565b61200f9084614ca2565b9250612046565b60028101541561202e57612005868260020154612088565b612039866000611e23565b6120439084614ca2565b92505b8461205382600301613206565b6001600160401b03166120669190614c8b565b6120709084614ca2565b9250505b600101611f5f565b50965096945050505050565b604051633b5bc50360e11b81526004810182905260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906376b78a0690602401602060405180830381865afa1580156120f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121169190615177565b905061214c60008261ffff16116040518060400160405280600b81526020016a1a5b9d985b1a590814905160aa1b815250612b26565b6121568482611e23565b949350505050565b60003382612218823b158015906121d957506040516323d0872b60e11b81523060048201526001600160a01b038416906347a10e56906024015b602060405180830381865afa1580156121b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121d99190615194565b80156121ea575060008262ffffff16115b6040518060400160405280601081526020016f696e76616c69642063616c6c6261636b60801b815250612b26565b6122233a5b85610ba5565b61222d81346114d3565b61223b61151482600a614c8b565b8561224861155182612f31565b61225460008888612f8a565b9450888861226187612dce565b60010191612270919083615206565b507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a6168534896040516122a493929190614ea4565b60405180910390a150505050949350505050565b60408051808201909152600081526060602082015260006122d883612dec565b905073__WitnetErrorsLib_______________________63a62b8462826122fe866131e5565b6002016040518363ffffffff1660e01b815260040161231e9291906152c6565b600060405180830381865af492505050801561235c57506040513d6000823e601f3d908101601f191682016040526123599190810190615365565b60015b611b61576123686153fe565b806308c379a0036123c4575061237c61541a565b8061238757506123c6565b604080518082019091528060008152602001826040516020016123aa91906154a3565b60408051601f198184030181529190529052949350505050565b505b3d8080156123f0576040519150601f19603f3d011682016040523d82523d6000602084013e6123f5565b606091505b50604080518082019091528060008152602001604051806060016040528060218152602001615872602191399052949350505050565b50919050565b6124396141e9565b60008281526000805160206158b383398151915260205260409081902081516101008101835281546001600160a01b038116938201938452600160a01b810462ffffff166060830152600160b81b90046001600160481b03166080820152600182018054919384929091849160a0850191906124b490614e0b565b80601f01602080910402602001604051908101604052809291908181526020018280546124e090614e0b565b801561252d5780601f106125025761010080835404028352916020019161252d565b820191906000526020600020905b81548152906001019060200180831161251057829003601f168201915b5050509183525050600282015460208083019190915260408051808201825260039094015460ff8116855261010090046001600160401b039081168584015292810193909352928452815160a0810183526004860180546001600160a01b0381168352600160a01b810490931682860152600160e01b90920463ffffffff1692810192909252600585015460608301526006850180549490930193919290916080840191906125db90614e0b565b80601f016020809104026020016040519081016040528092919081815260200182805461260790614e0b565b80156126545780601f1061262957610100808354040283529160200191612654565b820191906000526020600020905b81548152906001019060200180831161263757829003601f168201915b5050509190925250505090525092915050565b6000612680600080516020615893833981519152610cab565b8560018061268d83612b38565b600381111561269e5761269e6145a8565b146126e3576040516353e8875160e11b81526126de9073__WitnetOracleDataLib___________________9063a7d10ea29061108b908590600401614930565b612777565b61272d60008863ffffffff161180156127025750428863ffffffff1611155b6040518060400160405280600d81526020016c06261642074696d657374616d7609c1b815250612b26565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b60208201526127679085151590612b26565b61277488888888886131c1565b92505b505095945050505050565b60408051808201909152601c81527f5769746e65744f7261636c65547275737461626c6544656661756c7400000000602082015290565b600060008051602061589383398151915254611ba7906001614ca2565b60003382612814823b158015906121d957506040516323d0872b60e11b81523060048201526001600160a01b038416906347a10e5690602401612198565b61281d3a61221d565b61282781346114d3565b61283561151482600a614c8b565b8561284261155182612f31565b61284d888888612f8a565b94507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61685348960405161288293929190614ea4565b60405180910390a1505050509392505050565b806001806128a283612b38565b60038111156128b3576128b36145a8565b146128f8576040516353e8875160e11b81526128f39073__WitnetOracleDataLib___________________9063a7d10ea29061108b908590600401614930565b505050565b600061290384612dce565b90503481548290601790612928908490600160b81b90046001600160481b03166154dc565b82546101009290920a6001600160481b03818102199093169183160217909155825460408051888152600160b81b90920490921660208201527fdcced240139c3504c690fc16a776a5a4da3d5d1c139539e75037554ddc21e55b92500160405180910390a150505050565b61299b612f04565b600180546001600160a01b0383166001600160a01b031990911681179091556129cc6000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6040805160a0810182526000808252602082018190529181018290526060808201929092526080810191909152612a3a826131e5565b6040805160a08101825282546001600160a01b0381168252600160a01b81046001600160401b03166020830152600160e01b900463ffffffff169181019190915260018201546060820152600282018054919291608084019190612a9d90614e0b565b80601f0160208091040260200160405190810160405280929190818152602001828054612ac990614e0b565b8015612b165780601f10612aeb57610100808354040283529160200191612b16565b820191906000526020600020905b815481529060010190602001808311612af957829003601f168201915b5050505050815250509050919050565b81612b3457612b3481610a28565b5050565b60008181526000805160206158b3833981519152602052604081206004810154600160e01b900463ffffffff1615612b97576004810154600160a01b90046001600160401b03164310612b8e5750600392915050565b50600292915050565b80546001600160a01b031615612bb05750600192915050565b50600092915050565b600080612bc587612dce565b80546001600160b81b038116808355600160b81b9091046001600160481b03169350909150600160a01b900462ffffff1615612d1157805460009081908190612c34908b9063ffffffff8c16908b908b908b906001600160a01b03811690600160a01b900462ffffff16613236565b9250925092508115612c8457604080518b81523a602082015280820185905290517f37fc320f2d5c58a36c657d3b047384d42550bcc0d9781d13a7d97f8a97c2370c9181900360600190a1612cee565b7f794f0625cb473a6fc2bbc46c87577b8e719f074c42f7fe02abdf08e7435b1d8d8a88883a876000875111612cd15760405180606001604052806029815260200161584960299139612cd3565b865b604051612ce5969594939291906154fc565b60405180910390a15b612d098a8a8a604051806020016040528060008152506135cc565b505050612d8e565b7f1fd7bc07c18ac1c4f6d3111c704cd1b4c29b9f7980b7c5a9a2fddeef29d6c277873a6040805192835260208301919091520160405180910390a1612d8e87878787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506135cc92505050565b5095945050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156128f3573d6000803e3d6000fd5b60009081526000805160206158b38339815191526020526040902090565b600080612df883612b38565b90506003816003811115612e0e57612e0e6145a8565b03612ec05760008381526000805160206158b38339815191526020526040812060060180549091908290612e4190614e0b565b90501115612eb6578054601b60fb1b908290600090612e5f90614e0b565b8110612e6d57612e6d614c75565b815460011615612e8c5790600052602060002090602091828204019190065b9054901a600160f81b026001600160f81b03191614612eac576002612156565b6003949350505050565b5060059392505050565b6001816003811115612ed457612ed46145a8565b03612ee25750600192915050565b6002816003811115612ef657612ef66145a8565b03612bb05750600492915050565b6000546001600160a01b03163314611daa5760405163118cdaa760e01b8152336004820152602401610a68565b600080612f446040840160208501615559565b6001600160401b0316118015612f6957506000612f646020840184615576565b60ff16115b8015610b9f5750607f612f7f6020840184615576565b60ff16111592915050565b60006000805160206158938339815191528054600090612fa990615593565b918290555090506000612fbb82612dce565b805460408051808201909152600e81526d185b1c9958591e481c1bdcdd195960921b6020820152919250612ffb916001600160a01b039091161590612b26565b8054346001600160481b0316600160b81b026001600160b81b03199091163362ffffff60a01b191617600160a01b62ffffff861602176001600160b81b031617815560028101859055836003820161305382826155ac565b905050509392505050565b600180546001600160a01b0319169055611b7981613699565b60005b81518110156130ed57600082828151811061309757613097614c75565b6020026020010151905060016130b860008051602061589383398151915290565b6001600160a01b0392909216600090815260029092016020526040909120805460ff191691151591909117905560010161307a565b507f4d570ee36dec878006609360d34ac8d6a0b68d521871ae15a407b6340877ca01816040516114b69190614e3f565b6060600061312a836136e9565b6001600160401b03811115613141576131416145e0565b6040519080825280601f01601f19166020018201604052801561316b576020820181803683370190505b50905060005b8151811015610c8f5783816020811061318c5761318c614c75565b1a60f81b8282815181106131a2576131a2614c75565b60200101906001600160f81b031916908160001a905350600101613171565b60006131d08686868686612bb9565b90506131dc3382612d98565b95945050505050565b60009081526000805160206158b38339815191526020526040902060040190565b80546000906132199060ff166003614c3a565b8254610b9f9160ff169061010090046001600160401b03166155fc565b60008060605a9250601b60fb1b878760008161325457613254614c75565b9050013560f81c60f81b6001600160f81b031916036134a45760006132b66132b189898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061372792505050565b61374c565b90506002815110156133dd57856001600160a01b03166363febc9c868d8d8d4360006040518060c00160405280604051806040016040528060405180602001604052806000815250815260200160008152508152602001600060ff168152602001600060ff168152602001600060ff16815260200160006001600160401b0316815260200160006001600160401b03168152506040518863ffffffff1660e01b815260040161336a969594939291906156a8565b600060405180830381600088803b15801561338457600080fd5b5087f193505050508015613396575060015b6133d4576133a26153fe565b806308c379a0036133c857506133b661541a565b806133c157506133ca565b915061349e565b505b3d6000803e3d6000fd5b6001925061349e565b856001600160a01b03166363febc9c868d8d8d436134148860008151811061340757613407614c75565b60200260200101516138fc565b60fe811115613425576134256145a8565b8860008151811061343857613438614c75565b60200260200101516040518863ffffffff1660e01b8152600401613461969594939291906156a8565b600060405180830381600088803b15801561347b57600080fd5b5087f19350505050801561348d575060015b613499576133a26153fe565b600192505b506135b2565b846001600160a01b031663bcc6307b858c8c8c436134f78e8e8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061372792505050565b6040518763ffffffff1660e01b81526004016135179594939291906156f5565b600060405180830381600088803b15801561353157600080fd5b5087f193505050508015613543575060015b6135ad5761354f6153fe565b806308c379a003613575575061356361541a565b8061356e5750613577565b90506135b2565b505b3d8080156135a1576040519150601f19603f3d011682016040523d82523d6000602084013e6135a6565b606091505b50506135b2565b600191505b5a6135bd9084615729565b92509750975097945050505050565b6040518060a00160405280336001600160a01b03168152602001436001600160401b031681526020018463ffffffff1681526020018381526020018281525061361485612dce565b81516004820180546020850151604086015163ffffffff16600160e01b026001600160e01b036001600160401b03909216600160a01b026001600160e01b03199093166001600160a01b03909516949094179190911716919091178155606083015160058301556080830151909160060190613690908261573c565b50505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b60208110156137225781816020811061370757613707614c75565b1a60f81b6001600160f81b03191615613722576001016136ec565b919050565b61372f61426b565b6040805180820190915282815260006020820152611b618161395f565b60608160048060ff16826040015160ff161461378c57604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b60006137a085600001518660600151613a7f565b90506137ad8160016157fb565b6001600160401b03166001600160401b038111156137cd576137cd6145e0565b60405190808252806020026020018201604052801561380657816020015b6137f361426b565b8152602001906001900390816137eb5790505b50935060005b816001600160401b03168110156138cc5761382686613b47565b955061383186613b6f565b85828151811061384357613843614c75565b6020026020010181905250600460ff16866040015160ff160361389c57600061386b8761374c565b9050806001825161387c9190615729565b8151811061388c5761388c614c75565b60200260200101519650506138c4565b600560ff16866040015160ff16036138b957600061386b87613c07565b6138c286613df1565b505b60010161380c565b508484826001600160401b0316815181106138e9576138e9614c75565b6020026020010181905250505050919050565b60008160008060ff16826040015160ff161461393c57604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b61394e84600001518560600151613a7f565b6001600160401b0316949350505050565b61396761426b565b815151829060000361398c576040516309036d4760e21b815260040160405180910390fd5b600060ff816001600160401b038160015b8015613a0f576139ac89613fb6565b9550816139b881615593565b6007600589901c169650601f881695509250506005198501613a075760208901516139e38a86613a7f565b9350808a602001516139f59190615729565b6139ff9084614ca2565b92505061399d565b50600061399d565b600760ff86161115613a395760405163bd2ac87960e01b815260ff86166004820152602401610a68565b506040805160c08101825298895260ff95861660208a015293851693880193909352921660608601526001600160401b0390811660808601521660a08401525090919050565b600060188260ff161015613a97575060ff8116610b9f565b8160ff16601803613ab557613aab83613fb6565b60ff169050610b9f565b8160ff16601903613ad457613ac983614018565b61ffff169050610b9f565b8160ff16601a03613af557613ae883614084565b63ffffffff169050610b9f565b8160ff16601b03613b1057613b09836140e3565b9050610b9f565b8160ff16601f03613b2957506001600160401b03610b9f565b604051636d785b1360e01b815260ff83166004820152602401610a68565b613b4f61426b565b81518051516020909101511015613b6b578151610b9f9061395f565b5090565b613b7761426b565b6040805160c081018083528451610100830184526060909152600060e0830152825180840190935280518352602090810151908301529081908152602001836020015160ff168152602001836040015160ff168152602001836060015160ff16815260200183608001516001600160401b031681526020018360a001516001600160401b03168152509050919050565b60608160058060ff16826040015160ff1614613c4757604080830151905161800560e51b815260ff91821660048201529082166024820152604401610a68565b6000613c5b85600001518660600151613a7f565b613c669060026155fc565b9050613c738160016157fb565b6001600160401b03166001600160401b03811115613c9357613c936145e0565b604051908082528060200260200182016040528015613ccc57816020015b613cb961426b565b815260200190600190039081613cb15790505b50935060005b816001600160401b03168110156138cc57613cec86613b47565b9550613cf786613b6f565b858281518110613d0957613d09614c75565b6020908102919091010152613d1f60028261581b565b158015613d345750604086015160ff16600314155b15613d6257604080870151905161800560e51b815260ff909116600482015260036024820152604401610a68565b604086015160ff1660041480613d7f5750604086015160ff166005145b15613dde57604086015160009060ff16600414613da457613d9f87613c07565b613dad565b613dad8761374c565b90508060018251613dbe9190615729565b81518110613dce57613dce614c75565b6020026020010151965050613de9565b613de786613df1565b505b600101613cd2565b613df961426b565b604082015160ff161580613e145750604082015160ff166001145b80613e4d5750604082015160ff166007148015613e3957506019826060015160ff1610155b8015613e4d5750601b826060015160ff1611155b15613e8057613e5b82614142565b6001600160401b03168260000151602001818151613e799190614ca2565b9052505090565b604082015160ff1660031480613e9d5750604082015160ff166002145b15613ee1576000613eb683600001518460600151613a7f565b9050806001600160401b03168360000151602001818151613ed79190614ca2565b905250613b6b9050565b604082015160ff1660041480613efe5750604082015160ff166005145b15613f2757613f1582600001518360600151613a7f565b6001600160401b031660808301525090565b604082015160ff166007141580613f595750816060015160ff16601414158015613f595750816060015160ff16601514155b15613b6b5760405162461bcd60e51b815260206004820152602760248201527f5769746e657443424f522e736b69703a20756e737570706f72746564206d616a6044820152666f72207479706560c81b6064820152608401610a68565b6000816020015182600001515180821115613fee576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b835160208501805180830160010151955090819061400b82615593565b8152505050505050919050565b60008160200151600261402b9190614ca2565b82515180821115614059576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516002818401810151965090916140778284614ca2565b9052509395945050505050565b6000816020015160046140979190614ca2565b825151808211156140c5576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516004818401810151965090916140778284614ca2565b6000816020015160086140f69190614ca2565b82515180821115614124576040516363a056dd60e01b81526004810183905260248101829052604401610a68565b83516020850180516008818401810151965090916140778284614ca2565b60006018826060015160ff16101561415c57506000919050565b601c826060015160ff16101561418b576018826060015161417d919061582f565b60ff166001901b9050919050565b6060820151604051636d785b1360e01b815260ff9091166004820152602401610a68565b5080546141bb90614e0b565b6000825580601f106141cb575050565b601f016020900490600052602060002090810190611b7991906142b2565b60405180604001604052806142386040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b81526040805160a08101825260008082526020828101829052928201819052606080830191909152608082015291015290565b604080516101008101909152606060c08201908152600060e08301528190815260006020820181905260408201819052606082018190526080820181905260a09091015290565b5b80821115613b6b57600081556001016142b3565b60005b838110156142e25781810151838201526020016142ca565b50506000910152565b720dcdee840d2dae0d8cadacadce8cac8744060f606b1b815260008551614319816013850160208a016142c7565b855190830190614330816013840160208a016142c7565b85519101906143468160138401602089016142c7565b845191019061435c8160138401602088016142c7565b016013019695505050505050565b6001600160a01b0381168114611b7957600080fd5b60006020828403121561439157600080fd5b8135611b618161436a565b803562ffffff8116811461372257600080fd5b600080604083850312156143c257600080fd5b823591506143d26020840161439c565b90509250929050565b60008083601f8401126143ed57600080fd5b5081356001600160401b0381111561440457600080fd5b6020830191508360208260051b850101111561441f57600080fd5b9250929050565b6000806020838503121561443957600080fd5b82356001600160401b0381111561444f57600080fd5b61445b858286016143db565b90969095509350505050565b60006020828403121561447957600080fd5b5035919050565b600081518084526144988160208601602086016142c7565b601f01601f19169290920160200192915050565b60018060a01b0381511682526001600160401b03602082015116602083015263ffffffff6040820151166040830152606081015160608301526000608082015160a0608085015261215660a0850182614480565b602081526000611b6160208301846144ac565b60018060a01b03815116825262ffffff60208201511660208301526001600160481b0360408201511660408301526000606082015160e0606085015261455c60e0850182614480565b90506080830151608085015260a083015160ff81511660a08601526001600160401b0360208201511660c0860152508091505092915050565b602081526000611b616020830184614513565b634e487b7160e01b600052602160045260246000fd5b600681106145ce576145ce6145a8565b9052565b60208101610b9f82846145be565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b038111828210171561461b5761461b6145e0565b6040525050565b60006001600160401b0382111561463b5761463b6145e0565b5060051b60200190565b6000602080838503121561465857600080fd5b82356001600160401b0381111561466e57600080fd5b8301601f8101851361467f57600080fd5b803561468a81614622565b60405161469782826145f6565b82815260059290921b83018401918481019150878311156146b757600080fd5b928401925b828410156146de5783356146cf8161436a565b825292840192908401906146bc565b979650505050505050565b60006040828403121561242b57600080fd5b6000806060838503121561470e57600080fd5b823591506143d284602085016146e9565b60006001600160401b03821115614738576147386145e0565b50601f01601f191660200190565b60006020828403121561475857600080fd5b81356001600160401b0381111561476e57600080fd5b8201601f8101841361477f57600080fd5b803561478a8161471f565b60405161479782826145f6565b8281528660208486010111156147ac57600080fd5b8260208501602083013760009281016020019290925250949350505050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561482257603f19888603018452614810858351614480565b945092850192908501906001016147f4565b5092979650505050505050565b602081526000611b616020830184614480565b600481106145ce576145ce6145a8565b6020808252825182820181905260009190848201906040850190845b8181101561489157614881838551614842565b928401929184019160010161486e565b50909695505050505050565b60008083601f8401126148af57600080fd5b5081356001600160401b038111156148c657600080fd5b60208301915083602082850101111561441f57600080fd5b600080600080606085870312156148f457600080fd5b843593506020850135925060408501356001600160401b0381111561491857600080fd5b6149248782880161489d565b95989497509550505050565b60208101610b9f8284614842565b61ffff81168114611b7957600080fd5b6000806040838503121561496157600080fd5b8235915060208301356149738161493e565b809150509250929050565b6000806000806000806080878903121561499757600080fd5b86356001600160401b03808211156149ae57600080fd5b6149ba8a838b016143db565b909850965060208901359150808211156149d357600080fd5b506149e089828a0161489d565b979a9699509760408101359660609091013595509350505050565b60008060408385031215614a0e57600080fd5b50508035926020909101359150565b60008060008060808587031215614a3357600080fd5b84356001600160401b03811115614a4957600080fd5b614a558782880161489d565b9095509350614a69905086602087016146e9565b9150614a776060860161439c565b905092959194509250565b60ff81106145ce576145ce6145a8565b60208152614aa4602082018351614a82565b600060208301516040808401526121566060840182614480565b602081526000825160406020840152614ada6060840182614513565b90506020840151601f198483030160408501526131dc82826144ac565b803563ffffffff8116811461372257600080fd5b600080600080600060808688031215614b2357600080fd5b85359450614b3360208701614af7565b93506040860135925060608601356001600160401b03811115614b5557600080fd5b614b618882890161489d565b969995985093965092949392505050565b600080600060808486031215614b8757600080fd5b83359250614b9885602086016146e9565b9150614ba66060850161439c565b90509250925092565b60008351614bc18184602088016142c7565b6101d160f51b9083019081528351614be08160028401602088016142c7565b01600201949350505050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff831680614c2b57614c2b614bec565b8060ff84160491505092915050565b60ff8181168382160190811115610b9f57610b9f614c02565b600060ff831680614c6657614c66614bec565b8060ff84160691505092915050565b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417610b9f57610b9f614c02565b80820180821115610b9f57610b9f614c02565b60008235607e19833603018112614ccb57600080fd5b9190910192915050565b600082601f830112614ce657600080fd5b8151614cf18161471f565b604051614cfe82826145f6565b828152856020848701011115614d1357600080fd5b6131dc8360208301602088016142c7565b600060208284031215614d3657600080fd5b81516001600160401b03811115614d4c57600080fd5b61215684828501614cd5565b8281526040602082015260006121566040830184614480565b600060208284031215614d8357600080fd5b611b6182614af7565b6000808335601e19843603018112614da357600080fd5b8301803591506001600160401b03821115614dbd57600080fd5b60200191503681900382131561441f57600080fd5b60008251614de48184602087016142c7565b743a20696e76616c6964207265706f7274206461746160581b920191825250601501919050565b600181811c90821680614e1f57607f821691505b60208210810361242b57634e487b7160e01b600052602260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156148915783516001600160a01b031683529284019291840191600101614e5b565b60ff81168114611b7957600080fd5b6001600160401b0381168114611b7957600080fd5b83815260208101839052608081018235614ebd81614e80565b60ff1660408301526020830135614ed381614e8f565b6001600160401b038116606084015250949350505050565b60008060408385031215614efe57600080fd5b8251614f098161436a565b60208401519092506001600160401b03811115614f2557600080fd5b614f3185828601614cd5565b9150509250929050565b60006020808385031215614f4e57600080fd5b82516001600160401b03811115614f6457600080fd5b8301601f81018513614f7557600080fd5b8051614f8081614622565b604051614f8d82826145f6565b82815260059290921b8301840191848101915087831115614fad57600080fd5b928401925b828410156146de578351614fc58161436a565b82529284019290840190614fb2565b600060208284031215614fe657600080fd5b81516001600160e01b031981168114611b6157600080fd5b60006020828403121561501057600080fd5b8151611b618161436a565b6001600160a01b0384168152604060208201819052810182905260006001600160fb1b0383111561504b57600080fd5b8260051b8085606085013791909101606001949350505050565b6000602080838503121561507857600080fd5b82516001600160401b038082111561508f57600080fd5b818501915085601f8301126150a357600080fd5b81516150ae81614622565b6040516150bb82826145f6565b82815260059290921b84018501918581019150888311156150db57600080fd5b8585015b83811015615113578051858111156150f75760008081fd5b6151058b89838a0101614cd5565b8452509186019186016150df565b5098975050505050505050565b61ffff828116828216039080821115610c8f57610c8f614c02565b600061ffff8084168061515057615150614bec565b92169190910492915050565b61ffff818116838216019080821115610c8f57610c8f614c02565b60006020828403121561518957600080fd5b8151611b618161493e565b6000602082840312156151a657600080fd5b81518015158114611b6157600080fd5b601f8211156128f3576000816000526020600020601f850160051c810160208610156151df5750805b601f850160051c820191505b818110156151fe578281556001016151eb565b505050505050565b6001600160401b0383111561521d5761521d6145e0565b6152318361522b8354614e0b565b836151b6565b6000601f841160018114615265576000851561524d5750838201355b600019600387901b1c1916600186901b1783556152bf565b600083815260209020601f19861690835b828110156152965786850135825560209485019460019092019101615276565b50868210156152b35760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6152d081846145be565b6000602060406020840152600084546152e881614e0b565b806040870152606060018084166000811461530a576001811461532657615356565b60ff19851660608a0152606084151560051b8a01019550615356565b89600052602060002060005b8581101561534d5781548b8201860152908301908801615332565b8a016060019650505b50939998505050505050505050565b60006020828403121561537757600080fd5b81516001600160401b038082111561538e57600080fd5b90830190604082860312156153a257600080fd5b6040516040810181811083821117156153bd576153bd6145e0565b604052825160ff81106153cf57600080fd5b81526020830151828111156153e357600080fd5b6153ef87828601614cd5565b60208301525095945050505050565b600060033d11156154175760046000803e5060005160e01c5b90565b600060443d10156154285790565b6040516003193d81016004833e81513d6001600160401b03816024840111818411171561545757505050505090565b828501915081518181111561546f5750505050505090565b843d87010160208285010111156154895750505050505090565b615498602082860101876145f6565b509095945050505050565b7002bb4ba3732ba22b93937b939a634b11d1607d1b8152600082516154cf8160118501602087016142c7565b9190910160110192915050565b6001600160481b03818116838216019080821115610c8f57610c8f614c02565b86815260a060208201528460a0820152848660c0830137600060c086830101526000601f19601f870116820185604084015284606084015260c083820301608084015261554c60c0820185614480565b9998505050505050505050565b60006020828403121561556b57600080fd5b8135611b6181614e8f565b60006020828403121561558857600080fd5b8135611b6181614e80565b6000600182016155a5576155a5614c02565b5060010190565b81356155b781614e80565b60ff8116905081548160ff19821617835560208401356155d681614e8f565b68ffffffffffffffff008160081b16836001600160481b03198416171784555050505050565b6001600160401b0381811683821602808216919082811461561f5761561f614c02565b505092915050565b6000815160c084528051604060c0860152615646610100860182614480565b9050602082015160e086015260ff602085015116602086015260ff604085015116604086015260ff6060850151166060860152608084015191506001600160401b0380831660808701528060a08601511660a087015250809250505092915050565b8681526001600160401b03861660208201528460408201528360608201526156d36080820184614a82565b60c060a082015260006156e960c0830184615627565b98975050505050505050565b8581526001600160401b038516602082015283604082015282606082015260a0608082015260006146de60a0830184615627565b81810381811115610b9f57610b9f614c02565b81516001600160401b03811115615755576157556145e0565b615769816157638454614e0b565b846151b6565b602080601f83116001811461579e57600084156157865750858301515b600019600386901b1c1916600185901b1785556151fe565b600085815260208120601f198616915b828110156157cd578886015182559484019460019091019084016157ae565b50858210156157eb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160401b03818116838216019080821115610c8f57610c8f614c02565b60008261582a5761582a614bec565b500690565b60ff8281168282160390811115610b9f57610b9f614c0256fe5769746e65744f7261636c653a2063616c6c6261636b20657863656564656420676173206c696d69745769746e65744572726f72734c69623a20617373657274696f6e206661696c6564f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e184a2646970667358221220816bea638f4c44a5cdff92a83052c00190508fb799cc28569d36a4f728b4c7b064736f6c63430008190033",
  "immutableReferences": {
    "3715": [
      {
        "length": 32,
        "start": 7043
      }
    ],
    "3719": [
      {
        "length": 32,
        "start": 2382
      }
    ],
    "3769": [
      {
        "length": 32,
        "start": 1326
      }
    ],
    "4890": [
      {
        "length": 32,
        "start": 2160
      }
    ],
    "4894": [
      {
        "length": 32,
        "start": 1733
      },
      {
        "length": 32,
        "start": 6456
      },
      {
        "length": 32,
        "start": 6896
      },
      {
        "length": 32,
        "start": 8363
      }
    ],
    "4897": [
      {
        "length": 32,
        "start": 2307
      },
      {
        "length": 32,
        "start": 6034
      },
      {
        "length": 32,
        "start": 6106
      },
      {
        "length": 32,
        "start": 6309
      },
      {
        "length": 32,
        "start": 6498
      }
    ],
    "6838": [
      {
        "length": 32,
        "start": 7821
      }
    ],
    "6840": [
      {
        "length": 32,
        "start": 3097
      },
      {
        "length": 32,
        "start": 3169
      }
    ],
    "6842": [
      {
        "length": 32,
        "start": 3033
      }
    ],
    "6844": [
      {
        "length": 32,
        "start": 2989
      },
      {
        "length": 32,
        "start": 7779
      }
    ],
    "24100": [
      {
        "length": 32,
        "start": 2464
      }
    ],
    "24203": [
      {
        "length": 32,
        "start": 1252
      },
      {
        "length": 32,
        "start": 2105
      },
      {
        "length": 32,
        "start": 5831
      },
      {
        "length": 32,
        "start": 5921
      },
      {
        "length": 32,
        "start": 6696
      },
      {
        "length": 32,
        "start": 6730
      }
    ],
    "24207": [
      {
        "length": 32,
        "start": 1375
      },
      {
        "length": 32,
        "start": 7483
      }
    ]
  },
  "generatedSources": [
    {
      "ast": {
        "nativeSrc": "0:1341:84",
        "nodeType": "YulBlock",
        "src": "0:1341:84",
        "statements": [
          {
            "nativeSrc": "6:3:84",
            "nodeType": "YulBlock",
            "src": "6:3:84",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "81:86:84",
              "nodeType": "YulBlock",
              "src": "81:86:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "145:16:84",
                    "nodeType": "YulBlock",
                    "src": "145:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "154:1:84",
                              "nodeType": "YulLiteral",
                              "src": "154:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "157:1:84",
                              "nodeType": "YulLiteral",
                              "src": "157:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "147:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "147:6:84"
                          },
                          "nativeSrc": "147:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "147:12:84"
                        },
                        "nativeSrc": "147:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "147:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "104:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "104:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "115:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "115:5:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "130:3:84",
                                        "nodeType": "YulLiteral",
                                        "src": "130:3:84",
                                        "type": "",
                                        "value": "160"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "135:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "135:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "126:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "126:3:84"
                                    },
                                    "nativeSrc": "126:11:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "126:11:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "139:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "139:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "122:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "122:3:84"
                                },
                                "nativeSrc": "122:19:84",
                                "nodeType": "YulFunctionCall",
                                "src": "122:19:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "111:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "111:3:84"
                            },
                            "nativeSrc": "111:31:84",
                            "nodeType": "YulFunctionCall",
                            "src": "111:31:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "101:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "101:2:84"
                        },
                        "nativeSrc": "101:42:84",
                        "nodeType": "YulFunctionCall",
                        "src": "101:42:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "94:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "94:6:84"
                    },
                    "nativeSrc": "94:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "94:50:84"
                  },
                  "nativeSrc": "91:70:84",
                  "nodeType": "YulIf",
                  "src": "91:70:84"
                }
              ]
            },
            "name": "validator_revert_contract_WitnetRequestFactory",
            "nativeSrc": "14:153:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "70:5:84",
                "nodeType": "YulTypedName",
                "src": "70:5:84",
                "type": ""
              }
            ],
            "src": "14:153:84"
          },
          {
            "body": {
              "nativeSrc": "427:704:84",
              "nodeType": "YulBlock",
              "src": "427:704:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "474:16:84",
                    "nodeType": "YulBlock",
                    "src": "474:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "483:1:84",
                              "nodeType": "YulLiteral",
                              "src": "483:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "486:1:84",
                              "nodeType": "YulLiteral",
                              "src": "486:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "476:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "476:6:84"
                          },
                          "nativeSrc": "476:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "476:12:84"
                        },
                        "nativeSrc": "476:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "476:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "448:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "448:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "457:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "457:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "444:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "444:3:84"
                        },
                        "nativeSrc": "444:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "444:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "469:3:84",
                        "nodeType": "YulLiteral",
                        "src": "469:3:84",
                        "type": "",
                        "value": "256"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "440:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "440:3:84"
                    },
                    "nativeSrc": "440:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "440:33:84"
                  },
                  "nativeSrc": "437:53:84",
                  "nodeType": "YulIf",
                  "src": "437:53:84"
                },
                {
                  "nativeSrc": "499:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "499:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "518:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "518:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "512:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "512:5:84"
                    },
                    "nativeSrc": "512:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "512:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "503:5:84",
                      "nodeType": "YulTypedName",
                      "src": "503:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "584:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "584:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_contract_WitnetRequestFactory",
                      "nativeSrc": "537:46:84",
                      "nodeType": "YulIdentifier",
                      "src": "537:46:84"
                    },
                    "nativeSrc": "537:53:84",
                    "nodeType": "YulFunctionCall",
                    "src": "537:53:84"
                  },
                  "nativeSrc": "537:53:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "537:53:84"
                },
                {
                  "nativeSrc": "599:15:84",
                  "nodeType": "YulAssignment",
                  "src": "599:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "609:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "609:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "599:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "599:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "623:40:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "623:40:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "648:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "648:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "659:2:84",
                            "nodeType": "YulLiteral",
                            "src": "659:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "644:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "644:3:84"
                        },
                        "nativeSrc": "644:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "644:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "638:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "638:5:84"
                    },
                    "nativeSrc": "638:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "638:25:84"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "627:7:84",
                      "nodeType": "YulTypedName",
                      "src": "627:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "719:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "719:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_contract_WitnetRequestFactory",
                      "nativeSrc": "672:46:84",
                      "nodeType": "YulIdentifier",
                      "src": "672:46:84"
                    },
                    "nativeSrc": "672:55:84",
                    "nodeType": "YulFunctionCall",
                    "src": "672:55:84"
                  },
                  "nativeSrc": "672:55:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "672:55:84"
                },
                {
                  "nativeSrc": "736:17:84",
                  "nodeType": "YulAssignment",
                  "src": "736:17:84",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "746:7:84",
                    "nodeType": "YulIdentifier",
                    "src": "746:7:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "736:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "736:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "762:40:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "762:40:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "787:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "787:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "798:2:84",
                            "nodeType": "YulLiteral",
                            "src": "798:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "783:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "783:3:84"
                        },
                        "nativeSrc": "783:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "783:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "777:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "777:5:84"
                    },
                    "nativeSrc": "777:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "777:25:84"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "766:7:84",
                      "nodeType": "YulTypedName",
                      "src": "766:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "859:16:84",
                    "nodeType": "YulBlock",
                    "src": "859:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "868:1:84",
                              "nodeType": "YulLiteral",
                              "src": "868:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "871:1:84",
                              "nodeType": "YulLiteral",
                              "src": "871:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "861:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "861:6:84"
                          },
                          "nativeSrc": "861:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "861:12:84"
                        },
                        "nativeSrc": "861:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "861:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_2",
                            "nativeSrc": "824:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "824:7:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value_2",
                                    "nativeSrc": "847:7:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "847:7:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "iszero",
                                  "nativeSrc": "840:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "840:6:84"
                                },
                                "nativeSrc": "840:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "840:15:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "833:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "833:6:84"
                            },
                            "nativeSrc": "833:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "833:23:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "821:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "821:2:84"
                        },
                        "nativeSrc": "821:36:84",
                        "nodeType": "YulFunctionCall",
                        "src": "821:36:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "814:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "814:6:84"
                    },
                    "nativeSrc": "814:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "814:44:84"
                  },
                  "nativeSrc": "811:64:84",
                  "nodeType": "YulIf",
                  "src": "811:64:84"
                },
                {
                  "nativeSrc": "884:17:84",
                  "nodeType": "YulAssignment",
                  "src": "884:17:84",
                  "value": {
                    "name": "value_2",
                    "nativeSrc": "894:7:84",
                    "nodeType": "YulIdentifier",
                    "src": "894:7:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "884:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "884:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "910:35:84",
                  "nodeType": "YulAssignment",
                  "src": "910:35:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "930:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "930:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "941:2:84",
                            "nodeType": "YulLiteral",
                            "src": "941:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "926:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "926:3:84"
                        },
                        "nativeSrc": "926:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "926:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "920:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "920:5:84"
                    },
                    "nativeSrc": "920:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "920:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "910:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "910:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "954:36:84",
                  "nodeType": "YulAssignment",
                  "src": "954:36:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "974:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "974:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "985:3:84",
                            "nodeType": "YulLiteral",
                            "src": "985:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "970:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "970:3:84"
                        },
                        "nativeSrc": "970:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "970:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "964:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "964:5:84"
                    },
                    "nativeSrc": "964:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "964:26:84"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "954:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "954:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "999:36:84",
                  "nodeType": "YulAssignment",
                  "src": "999:36:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1019:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "1019:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1030:3:84",
                            "nodeType": "YulLiteral",
                            "src": "1030:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1015:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1015:3:84"
                        },
                        "nativeSrc": "1015:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1015:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1009:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1009:5:84"
                    },
                    "nativeSrc": "1009:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1009:26:84"
                  },
                  "variableNames": [
                    {
                      "name": "value5",
                      "nativeSrc": "999:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "999:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "1044:36:84",
                  "nodeType": "YulAssignment",
                  "src": "1044:36:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1064:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "1064:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1075:3:84",
                            "nodeType": "YulLiteral",
                            "src": "1075:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1060:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1060:3:84"
                        },
                        "nativeSrc": "1060:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1060:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1054:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1054:5:84"
                    },
                    "nativeSrc": "1054:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1054:26:84"
                  },
                  "variableNames": [
                    {
                      "name": "value6",
                      "nativeSrc": "1044:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1044:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "1089:36:84",
                  "nodeType": "YulAssignment",
                  "src": "1089:36:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1109:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "1109:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1120:3:84",
                            "nodeType": "YulLiteral",
                            "src": "1120:3:84",
                            "type": "",
                            "value": "224"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1105:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1105:3:84"
                        },
                        "nativeSrc": "1105:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1105:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1099:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1099:5:84"
                    },
                    "nativeSrc": "1099:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1099:26:84"
                  },
                  "variableNames": [
                    {
                      "name": "value7",
                      "nativeSrc": "1089:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1089:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_WitnetRequestFactory_$880t_contract$_WitnetRequestBytecodes_$849t_boolt_bytes32t_uint256t_uint256t_uint256t_uint256_fromMemory",
            "nativeSrc": "172:959:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "337:9:84",
                "nodeType": "YulTypedName",
                "src": "337:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "348:7:84",
                "nodeType": "YulTypedName",
                "src": "348:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "360:6:84",
                "nodeType": "YulTypedName",
                "src": "360:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "368:6:84",
                "nodeType": "YulTypedName",
                "src": "368:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "376:6:84",
                "nodeType": "YulTypedName",
                "src": "376:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "384:6:84",
                "nodeType": "YulTypedName",
                "src": "384:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "392:6:84",
                "nodeType": "YulTypedName",
                "src": "392:6:84",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "400:6:84",
                "nodeType": "YulTypedName",
                "src": "400:6:84",
                "type": ""
              },
              {
                "name": "value6",
                "nativeSrc": "408:6:84",
                "nodeType": "YulTypedName",
                "src": "408:6:84",
                "type": ""
              },
              {
                "name": "value7",
                "nativeSrc": "416:6:84",
                "nodeType": "YulTypedName",
                "src": "416:6:84",
                "type": ""
              }
            ],
            "src": "172:959:84"
          },
          {
            "body": {
              "nativeSrc": "1237:102:84",
              "nodeType": "YulBlock",
              "src": "1237:102:84",
              "statements": [
                {
                  "nativeSrc": "1247:26:84",
                  "nodeType": "YulAssignment",
                  "src": "1247:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1259:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1259:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1270:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1270:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1255:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1255:3:84"
                    },
                    "nativeSrc": "1255:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1255:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "1247:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "1247:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1289:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1289:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "1304:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1304:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1320:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "1320:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1325:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "1325:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "1316:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "1316:3:84"
                                },
                                "nativeSrc": "1316:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "1316:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "1329:1:84",
                                "nodeType": "YulLiteral",
                                "src": "1329:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "1312:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "1312:3:84"
                            },
                            "nativeSrc": "1312:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1312:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "1300:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1300:3:84"
                        },
                        "nativeSrc": "1300:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1300:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1282:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1282:6:84"
                    },
                    "nativeSrc": "1282:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1282:51:84"
                  },
                  "nativeSrc": "1282:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1282:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
            "nativeSrc": "1136:203:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1206:9:84",
                "nodeType": "YulTypedName",
                "src": "1206:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "1217:6:84",
                "nodeType": "YulTypedName",
                "src": "1217:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "1228:4:84",
                "nodeType": "YulTypedName",
                "src": "1228:4:84",
                "type": ""
              }
            ],
            "src": "1136:203:84"
          }
        ]
      },
      "contents": "{\n    { }\n    function validator_revert_contract_WitnetRequestFactory(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_contract$_WitnetRequestFactory_$880t_contract$_WitnetRequestBytecodes_$849t_boolt_bytes32t_uint256t_uint256t_uint256t_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7\n    {\n        if slt(sub(dataEnd, headStart), 256) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_contract_WitnetRequestFactory(value)\n        value0 := value\n        let value_1 := mload(add(headStart, 32))\n        validator_revert_contract_WitnetRequestFactory(value_1)\n        value1 := value_1\n        let value_2 := mload(add(headStart, 64))\n        if iszero(eq(value_2, iszero(iszero(value_2)))) { revert(0, 0) }\n        value2 := value_2\n        value3 := mload(add(headStart, 96))\n        value4 := mload(add(headStart, 128))\n        value5 := mload(add(headStart, 160))\n        value6 := mload(add(headStart, 192))\n        value7 := mload(add(headStart, 224))\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n}",
      "id": 84,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "deployedGeneratedSources": [
    {
      "ast": {
        "nativeSrc": "0:44635:84",
        "nodeType": "YulBlock",
        "src": "0:44635:84",
        "statements": [
          {
            "nativeSrc": "6:3:84",
            "nodeType": "YulBlock",
            "src": "6:3:84",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "80:184:84",
              "nodeType": "YulBlock",
              "src": "80:184:84",
              "statements": [
                {
                  "nativeSrc": "90:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "90:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "99:1:84",
                    "nodeType": "YulLiteral",
                    "src": "99:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "94:1:84",
                      "nodeType": "YulTypedName",
                      "src": "94:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "159:63:84",
                    "nodeType": "YulBlock",
                    "src": "159:63:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "dst",
                                  "nativeSrc": "184:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "184:3:84"
                                },
                                {
                                  "name": "i",
                                  "nativeSrc": "189:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "189:1:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "180:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "180:3:84"
                              },
                              "nativeSrc": "180:11:84",
                              "nodeType": "YulFunctionCall",
                              "src": "180:11:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "src",
                                      "nativeSrc": "203:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "203:3:84"
                                    },
                                    {
                                      "name": "i",
                                      "nativeSrc": "208:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "208:1:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "199:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "199:3:84"
                                  },
                                  "nativeSrc": "199:11:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "199:11:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "193:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "193:5:84"
                              },
                              "nativeSrc": "193:18:84",
                              "nodeType": "YulFunctionCall",
                              "src": "193:18:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "173:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "173:6:84"
                          },
                          "nativeSrc": "173:39:84",
                          "nodeType": "YulFunctionCall",
                          "src": "173:39:84"
                        },
                        "nativeSrc": "173:39:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "173:39:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "120:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "120:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "123:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "123:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "117:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "117:2:84"
                    },
                    "nativeSrc": "117:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "117:13:84"
                  },
                  "nativeSrc": "109:113:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "131:19:84",
                    "nodeType": "YulBlock",
                    "src": "131:19:84",
                    "statements": [
                      {
                        "nativeSrc": "133:15:84",
                        "nodeType": "YulAssignment",
                        "src": "133:15:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "142:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "142:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "145:2:84",
                              "nodeType": "YulLiteral",
                              "src": "145:2:84",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "138:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "138:3:84"
                          },
                          "nativeSrc": "138:10:84",
                          "nodeType": "YulFunctionCall",
                          "src": "138:10:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "133:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "133:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "113:3:84",
                    "nodeType": "YulBlock",
                    "src": "113:3:84",
                    "statements": []
                  },
                  "src": "109:113:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dst",
                            "nativeSrc": "242:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "242:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "247:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "247:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "238:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "238:3:84"
                        },
                        "nativeSrc": "238:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "238:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "256:1:84",
                        "nodeType": "YulLiteral",
                        "src": "256:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "231:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "231:6:84"
                    },
                    "nativeSrc": "231:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "231:27:84"
                  },
                  "nativeSrc": "231:27:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "231:27:84"
                }
              ]
            },
            "name": "copy_memory_to_memory_with_cleanup",
            "nativeSrc": "14:250:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "src",
                "nativeSrc": "58:3:84",
                "nodeType": "YulTypedName",
                "src": "58:3:84",
                "type": ""
              },
              {
                "name": "dst",
                "nativeSrc": "63:3:84",
                "nodeType": "YulTypedName",
                "src": "63:3:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "68:6:84",
                "nodeType": "YulTypedName",
                "src": "68:6:84",
                "type": ""
              }
            ],
            "src": "14:250:84"
          },
          {
            "body": {
              "nativeSrc": "653:688:84",
              "nodeType": "YulBlock",
              "src": "653:688:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "670:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "670:3:84"
                      },
                      {
                        "hexValue": "6e6f7420696d706c656d656e7465643a203078",
                        "kind": "string",
                        "nativeSrc": "675:21:84",
                        "nodeType": "YulLiteral",
                        "src": "675:21:84",
                        "type": "",
                        "value": "not implemented: 0x"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "663:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "663:6:84"
                    },
                    "nativeSrc": "663:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "663:34:84"
                  },
                  "nativeSrc": "663:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "663:34:84"
                },
                {
                  "nativeSrc": "706:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "706:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "726:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "726:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "720:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "720:5:84"
                    },
                    "nativeSrc": "720:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "720:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "710:6:84",
                      "nodeType": "YulTypedName",
                      "src": "710:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "781:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "781:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "789:4:84",
                            "nodeType": "YulLiteral",
                            "src": "789:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "777:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "777:3:84"
                        },
                        "nativeSrc": "777:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "777:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "800:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "800:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "805:2:84",
                            "nodeType": "YulLiteral",
                            "src": "805:2:84",
                            "type": "",
                            "value": "19"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "796:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "796:3:84"
                        },
                        "nativeSrc": "796:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "796:12:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "810:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "810:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "742:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "742:34:84"
                    },
                    "nativeSrc": "742:75:84",
                    "nodeType": "YulFunctionCall",
                    "src": "742:75:84"
                  },
                  "nativeSrc": "742:75:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "742:75:84"
                },
                {
                  "nativeSrc": "826:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "826:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "840:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "840:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "845:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "845:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "836:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "836:3:84"
                    },
                    "nativeSrc": "836:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "836:16:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "830:2:84",
                      "nodeType": "YulTypedName",
                      "src": "830:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "861:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "861:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "883:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "883:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "877:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "877:5:84"
                    },
                    "nativeSrc": "877:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "877:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "865:8:84",
                      "nodeType": "YulTypedName",
                      "src": "865:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "938:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "938:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "946:4:84",
                            "nodeType": "YulLiteral",
                            "src": "946:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "934:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "934:3:84"
                        },
                        "nativeSrc": "934:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "934:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "957:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "957:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "961:2:84",
                            "nodeType": "YulLiteral",
                            "src": "961:2:84",
                            "type": "",
                            "value": "19"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "953:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "953:3:84"
                        },
                        "nativeSrc": "953:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "953:11:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "966:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "966:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "899:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "899:34:84"
                    },
                    "nativeSrc": "899:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "899:76:84"
                  },
                  "nativeSrc": "899:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "899:76:84"
                },
                {
                  "nativeSrc": "984:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "984:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "998:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "998:2:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "1002:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "1002:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "994:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "994:3:84"
                    },
                    "nativeSrc": "994:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "994:17:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "988:2:84",
                      "nodeType": "YulTypedName",
                      "src": "988:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1020:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1020:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "1042:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1042:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1036:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1036:5:84"
                    },
                    "nativeSrc": "1036:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1036:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_2",
                      "nativeSrc": "1024:8:84",
                      "nodeType": "YulTypedName",
                      "src": "1024:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "1097:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1097:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1105:4:84",
                            "nodeType": "YulLiteral",
                            "src": "1105:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1093:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1093:3:84"
                        },
                        "nativeSrc": "1093:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1093:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "1116:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "1116:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1120:2:84",
                            "nodeType": "YulLiteral",
                            "src": "1120:2:84",
                            "type": "",
                            "value": "19"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1112:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1112:3:84"
                        },
                        "nativeSrc": "1112:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1112:11:84"
                      },
                      {
                        "name": "length_2",
                        "nativeSrc": "1125:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "1125:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "1058:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "1058:34:84"
                    },
                    "nativeSrc": "1058:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1058:76:84"
                  },
                  "nativeSrc": "1058:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1058:76:84"
                },
                {
                  "nativeSrc": "1143:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1143:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "1157:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "1157:2:84"
                      },
                      {
                        "name": "length_2",
                        "nativeSrc": "1161:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "1161:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1153:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1153:3:84"
                    },
                    "nativeSrc": "1153:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1153:17:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "1147:2:84",
                      "nodeType": "YulTypedName",
                      "src": "1147:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1179:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1179:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value3",
                        "nativeSrc": "1201:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1201:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1195:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1195:5:84"
                    },
                    "nativeSrc": "1195:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1195:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_3",
                      "nativeSrc": "1183:8:84",
                      "nodeType": "YulTypedName",
                      "src": "1183:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value3",
                            "nativeSrc": "1256:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1256:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1264:4:84",
                            "nodeType": "YulLiteral",
                            "src": "1264:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1252:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1252:3:84"
                        },
                        "nativeSrc": "1252:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1252:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_3",
                            "nativeSrc": "1275:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "1275:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1279:2:84",
                            "nodeType": "YulLiteral",
                            "src": "1279:2:84",
                            "type": "",
                            "value": "19"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1271:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1271:3:84"
                        },
                        "nativeSrc": "1271:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1271:11:84"
                      },
                      {
                        "name": "length_3",
                        "nativeSrc": "1284:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "1284:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "1217:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "1217:34:84"
                    },
                    "nativeSrc": "1217:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1217:76:84"
                  },
                  "nativeSrc": "1217:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1217:76:84"
                },
                {
                  "nativeSrc": "1302:33:84",
                  "nodeType": "YulAssignment",
                  "src": "1302:33:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_3",
                            "nativeSrc": "1317:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "1317:2:84"
                          },
                          {
                            "name": "length_3",
                            "nativeSrc": "1321:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "1321:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1313:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1313:3:84"
                        },
                        "nativeSrc": "1313:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1313:17:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1332:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1332:2:84",
                        "type": "",
                        "value": "19"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1309:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1309:3:84"
                    },
                    "nativeSrc": "1309:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1309:26:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "1302:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1302:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_6aa2932fe75962e4eb862ba4982429ce713637712a759cb9d40b6d5260a002eb_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "269:1072:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "605:3:84",
                "nodeType": "YulTypedName",
                "src": "605:3:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "610:6:84",
                "nodeType": "YulTypedName",
                "src": "610:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "618:6:84",
                "nodeType": "YulTypedName",
                "src": "618:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "626:6:84",
                "nodeType": "YulTypedName",
                "src": "626:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "634:6:84",
                "nodeType": "YulTypedName",
                "src": "634:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "645:3:84",
                "nodeType": "YulTypedName",
                "src": "645:3:84",
                "type": ""
              }
            ],
            "src": "269:1072:84"
          },
          {
            "body": {
              "nativeSrc": "1391:86:84",
              "nodeType": "YulBlock",
              "src": "1391:86:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "1455:16:84",
                    "nodeType": "YulBlock",
                    "src": "1455:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1464:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1464:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1467:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1467:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1457:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1457:6:84"
                          },
                          "nativeSrc": "1457:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1457:12:84"
                        },
                        "nativeSrc": "1457:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1457:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1414:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "1414:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "1425:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "1425:5:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "1440:3:84",
                                        "nodeType": "YulLiteral",
                                        "src": "1440:3:84",
                                        "type": "",
                                        "value": "160"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "1445:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "1445:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "1436:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "1436:3:84"
                                    },
                                    "nativeSrc": "1436:11:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "1436:11:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1449:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "1449:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "1432:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "1432:3:84"
                                },
                                "nativeSrc": "1432:19:84",
                                "nodeType": "YulFunctionCall",
                                "src": "1432:19:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "1421:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "1421:3:84"
                            },
                            "nativeSrc": "1421:31:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1421:31:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "1411:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "1411:2:84"
                        },
                        "nativeSrc": "1411:42:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1411:42:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "1404:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1404:6:84"
                    },
                    "nativeSrc": "1404:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1404:50:84"
                  },
                  "nativeSrc": "1401:70:84",
                  "nodeType": "YulIf",
                  "src": "1401:70:84"
                }
              ]
            },
            "name": "validator_revert_address",
            "nativeSrc": "1346:131:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "1380:5:84",
                "nodeType": "YulTypedName",
                "src": "1380:5:84",
                "type": ""
              }
            ],
            "src": "1346:131:84"
          },
          {
            "body": {
              "nativeSrc": "1552:177:84",
              "nodeType": "YulBlock",
              "src": "1552:177:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "1598:16:84",
                    "nodeType": "YulBlock",
                    "src": "1598:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1607:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1607:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1610:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1610:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1600:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1600:6:84"
                          },
                          "nativeSrc": "1600:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1600:12:84"
                        },
                        "nativeSrc": "1600:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1600:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "1573:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "1573:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "1582:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "1582:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "1569:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1569:3:84"
                        },
                        "nativeSrc": "1569:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1569:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1594:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1594:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "1565:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1565:3:84"
                    },
                    "nativeSrc": "1565:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1565:32:84"
                  },
                  "nativeSrc": "1562:52:84",
                  "nodeType": "YulIf",
                  "src": "1562:52:84"
                },
                {
                  "nativeSrc": "1623:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1623:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1649:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1649:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "1636:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "1636:12:84"
                    },
                    "nativeSrc": "1636:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1636:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "1627:5:84",
                      "nodeType": "YulTypedName",
                      "src": "1627:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "1693:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "1693:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "1668:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "1668:24:84"
                    },
                    "nativeSrc": "1668:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1668:31:84"
                  },
                  "nativeSrc": "1668:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1668:31:84"
                },
                {
                  "nativeSrc": "1708:15:84",
                  "nodeType": "YulAssignment",
                  "src": "1708:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "1718:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "1718:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "1708:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1708:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address",
            "nativeSrc": "1482:247:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1518:9:84",
                "nodeType": "YulTypedName",
                "src": "1518:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "1529:7:84",
                "nodeType": "YulTypedName",
                "src": "1529:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "1541:6:84",
                "nodeType": "YulTypedName",
                "src": "1541:6:84",
                "type": ""
              }
            ],
            "src": "1482:247:84"
          },
          {
            "body": {
              "nativeSrc": "1829:92:84",
              "nodeType": "YulBlock",
              "src": "1829:92:84",
              "statements": [
                {
                  "nativeSrc": "1839:26:84",
                  "nodeType": "YulAssignment",
                  "src": "1839:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1851:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1851:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1862:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1862:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1847:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1847:3:84"
                    },
                    "nativeSrc": "1847:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1847:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "1839:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "1839:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1881:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1881:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "1906:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "1906:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "1899:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "1899:6:84"
                            },
                            "nativeSrc": "1899:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1899:14:84"
                          }
                        ],
                        "functionName": {
                          "name": "iszero",
                          "nativeSrc": "1892:6:84",
                          "nodeType": "YulIdentifier",
                          "src": "1892:6:84"
                        },
                        "nativeSrc": "1892:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1892:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1874:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1874:6:84"
                    },
                    "nativeSrc": "1874:41:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1874:41:84"
                  },
                  "nativeSrc": "1874:41:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1874:41:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
            "nativeSrc": "1734:187:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1798:9:84",
                "nodeType": "YulTypedName",
                "src": "1798:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "1809:6:84",
                "nodeType": "YulTypedName",
                "src": "1809:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "1820:4:84",
                "nodeType": "YulTypedName",
                "src": "1820:4:84",
                "type": ""
              }
            ],
            "src": "1734:187:84"
          },
          {
            "body": {
              "nativeSrc": "1974:113:84",
              "nodeType": "YulBlock",
              "src": "1974:113:84",
              "statements": [
                {
                  "nativeSrc": "1984:29:84",
                  "nodeType": "YulAssignment",
                  "src": "1984:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "2006:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2006:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "1993:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "1993:12:84"
                    },
                    "nativeSrc": "1993:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1993:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "1984:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1984:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2065:16:84",
                    "nodeType": "YulBlock",
                    "src": "2065:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2074:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2074:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2077:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2077:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2067:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2067:6:84"
                          },
                          "nativeSrc": "2067:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2067:12:84"
                        },
                        "nativeSrc": "2067:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2067:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "2035:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "2035:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "2046:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "2046:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "2053:8:84",
                                "nodeType": "YulLiteral",
                                "src": "2053:8:84",
                                "type": "",
                                "value": "0xffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "2042:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2042:3:84"
                            },
                            "nativeSrc": "2042:20:84",
                            "nodeType": "YulFunctionCall",
                            "src": "2042:20:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "2032:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "2032:2:84"
                        },
                        "nativeSrc": "2032:31:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2032:31:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "2025:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2025:6:84"
                    },
                    "nativeSrc": "2025:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2025:39:84"
                  },
                  "nativeSrc": "2022:59:84",
                  "nodeType": "YulIf",
                  "src": "2022:59:84"
                }
              ]
            },
            "name": "abi_decode_uint24",
            "nativeSrc": "1926:161:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "1953:6:84",
                "nodeType": "YulTypedName",
                "src": "1953:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "1964:5:84",
                "nodeType": "YulTypedName",
                "src": "1964:5:84",
                "type": ""
              }
            ],
            "src": "1926:161:84"
          },
          {
            "body": {
              "nativeSrc": "2178:166:84",
              "nodeType": "YulBlock",
              "src": "2178:166:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "2224:16:84",
                    "nodeType": "YulBlock",
                    "src": "2224:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2233:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2233:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2236:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2236:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2226:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2226:6:84"
                          },
                          "nativeSrc": "2226:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2226:12:84"
                        },
                        "nativeSrc": "2226:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2226:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "2199:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "2199:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "2208:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "2208:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "2195:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2195:3:84"
                        },
                        "nativeSrc": "2195:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2195:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2220:2:84",
                        "nodeType": "YulLiteral",
                        "src": "2220:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "2191:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2191:3:84"
                    },
                    "nativeSrc": "2191:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2191:32:84"
                  },
                  "nativeSrc": "2188:52:84",
                  "nodeType": "YulIf",
                  "src": "2188:52:84"
                },
                {
                  "nativeSrc": "2249:33:84",
                  "nodeType": "YulAssignment",
                  "src": "2249:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2272:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "2272:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "2259:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "2259:12:84"
                    },
                    "nativeSrc": "2259:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2259:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "2249:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2249:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "2291:47:84",
                  "nodeType": "YulAssignment",
                  "src": "2291:47:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "2323:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "2323:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2334:2:84",
                            "nodeType": "YulLiteral",
                            "src": "2334:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2319:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2319:3:84"
                        },
                        "nativeSrc": "2319:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2319:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint24",
                      "nativeSrc": "2301:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "2301:17:84"
                    },
                    "nativeSrc": "2301:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2301:37:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "2291:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2291:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_uint24",
            "nativeSrc": "2092:252:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "2136:9:84",
                "nodeType": "YulTypedName",
                "src": "2136:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "2147:7:84",
                "nodeType": "YulTypedName",
                "src": "2147:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "2159:6:84",
                "nodeType": "YulTypedName",
                "src": "2159:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "2167:6:84",
                "nodeType": "YulTypedName",
                "src": "2167:6:84",
                "type": ""
              }
            ],
            "src": "2092:252:84"
          },
          {
            "body": {
              "nativeSrc": "2450:76:84",
              "nodeType": "YulBlock",
              "src": "2450:76:84",
              "statements": [
                {
                  "nativeSrc": "2460:26:84",
                  "nodeType": "YulAssignment",
                  "src": "2460:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2472:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "2472:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2483:2:84",
                        "nodeType": "YulLiteral",
                        "src": "2483:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2468:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2468:3:84"
                    },
                    "nativeSrc": "2468:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2468:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "2460:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "2460:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2502:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "2502:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "2513:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2513:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2495:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2495:6:84"
                    },
                    "nativeSrc": "2495:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2495:25:84"
                  },
                  "nativeSrc": "2495:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "2495:25:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
            "nativeSrc": "2349:177:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "2419:9:84",
                "nodeType": "YulTypedName",
                "src": "2419:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "2430:6:84",
                "nodeType": "YulTypedName",
                "src": "2430:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "2441:4:84",
                "nodeType": "YulTypedName",
                "src": "2441:4:84",
                "type": ""
              }
            ],
            "src": "2349:177:84"
          },
          {
            "body": {
              "nativeSrc": "2635:283:84",
              "nodeType": "YulBlock",
              "src": "2635:283:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "2684:16:84",
                    "nodeType": "YulBlock",
                    "src": "2684:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2693:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2693:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2696:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2696:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2686:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2686:6:84"
                          },
                          "nativeSrc": "2686:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2686:12:84"
                        },
                        "nativeSrc": "2686:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2686:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "2663:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "2663:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "2671:4:84",
                                "nodeType": "YulLiteral",
                                "src": "2671:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "2659:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2659:3:84"
                            },
                            "nativeSrc": "2659:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "2659:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "2678:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "2678:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "2655:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2655:3:84"
                        },
                        "nativeSrc": "2655:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2655:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "2648:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2648:6:84"
                    },
                    "nativeSrc": "2648:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2648:35:84"
                  },
                  "nativeSrc": "2645:55:84",
                  "nodeType": "YulIf",
                  "src": "2645:55:84"
                },
                {
                  "nativeSrc": "2709:30:84",
                  "nodeType": "YulAssignment",
                  "src": "2709:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "2732:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2732:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "2719:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "2719:12:84"
                    },
                    "nativeSrc": "2719:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2719:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "2709:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2709:6:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2782:16:84",
                    "nodeType": "YulBlock",
                    "src": "2782:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2791:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2791:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2794:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2794:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2784:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2784:6:84"
                          },
                          "nativeSrc": "2784:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2784:12:84"
                        },
                        "nativeSrc": "2784:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2784:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "2754:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2754:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2762:18:84",
                        "nodeType": "YulLiteral",
                        "src": "2762:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "2751:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "2751:2:84"
                    },
                    "nativeSrc": "2751:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2751:30:84"
                  },
                  "nativeSrc": "2748:50:84",
                  "nodeType": "YulIf",
                  "src": "2748:50:84"
                },
                {
                  "nativeSrc": "2807:29:84",
                  "nodeType": "YulAssignment",
                  "src": "2807:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "2823:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2823:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2831:4:84",
                        "nodeType": "YulLiteral",
                        "src": "2831:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2819:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2819:3:84"
                    },
                    "nativeSrc": "2819:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2819:17:84"
                  },
                  "variableNames": [
                    {
                      "name": "arrayPos",
                      "nativeSrc": "2807:8:84",
                      "nodeType": "YulIdentifier",
                      "src": "2807:8:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2896:16:84",
                    "nodeType": "YulBlock",
                    "src": "2896:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2905:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2905:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2908:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2908:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2898:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2898:6:84"
                          },
                          "nativeSrc": "2898:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2898:12:84"
                        },
                        "nativeSrc": "2898:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2898:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "2859:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "2859:6:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2871:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "2871:1:84",
                                    "type": "",
                                    "value": "5"
                                  },
                                  {
                                    "name": "length",
                                    "nativeSrc": "2874:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "2874:6:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "2867:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "2867:3:84"
                                },
                                "nativeSrc": "2867:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "2867:14:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "2855:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2855:3:84"
                            },
                            "nativeSrc": "2855:27:84",
                            "nodeType": "YulFunctionCall",
                            "src": "2855:27:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2884:4:84",
                            "nodeType": "YulLiteral",
                            "src": "2884:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2851:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2851:3:84"
                        },
                        "nativeSrc": "2851:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2851:38:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "2891:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "2891:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "2848:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "2848:2:84"
                    },
                    "nativeSrc": "2848:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2848:47:84"
                  },
                  "nativeSrc": "2845:67:84",
                  "nodeType": "YulIf",
                  "src": "2845:67:84"
                }
              ]
            },
            "name": "abi_decode_array_struct_BatchResult_calldata_dyn_calldata",
            "nativeSrc": "2531:387:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "2598:6:84",
                "nodeType": "YulTypedName",
                "src": "2598:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "2606:3:84",
                "nodeType": "YulTypedName",
                "src": "2606:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "arrayPos",
                "nativeSrc": "2614:8:84",
                "nodeType": "YulTypedName",
                "src": "2614:8:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "2624:6:84",
                "nodeType": "YulTypedName",
                "src": "2624:6:84",
                "type": ""
              }
            ],
            "src": "2531:387:84"
          },
          {
            "body": {
              "nativeSrc": "3060:352:84",
              "nodeType": "YulBlock",
              "src": "3060:352:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "3106:16:84",
                    "nodeType": "YulBlock",
                    "src": "3106:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3115:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3115:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3118:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3118:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3108:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3108:6:84"
                          },
                          "nativeSrc": "3108:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3108:12:84"
                        },
                        "nativeSrc": "3108:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "3108:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "3081:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "3081:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "3090:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "3090:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "3077:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3077:3:84"
                        },
                        "nativeSrc": "3077:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3077:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3102:2:84",
                        "nodeType": "YulLiteral",
                        "src": "3102:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "3073:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3073:3:84"
                    },
                    "nativeSrc": "3073:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3073:32:84"
                  },
                  "nativeSrc": "3070:52:84",
                  "nodeType": "YulIf",
                  "src": "3070:52:84"
                },
                {
                  "nativeSrc": "3131:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3131:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "3158:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "3158:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "3145:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "3145:12:84"
                    },
                    "nativeSrc": "3145:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3145:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "3135:6:84",
                      "nodeType": "YulTypedName",
                      "src": "3135:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "3211:16:84",
                    "nodeType": "YulBlock",
                    "src": "3211:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3220:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3220:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3223:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3223:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3213:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3213:6:84"
                          },
                          "nativeSrc": "3213:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3213:12:84"
                        },
                        "nativeSrc": "3213:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "3213:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "3183:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3183:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3191:18:84",
                        "nodeType": "YulLiteral",
                        "src": "3191:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "3180:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "3180:2:84"
                    },
                    "nativeSrc": "3180:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3180:30:84"
                  },
                  "nativeSrc": "3177:50:84",
                  "nodeType": "YulIf",
                  "src": "3177:50:84"
                },
                {
                  "nativeSrc": "3236:116:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3236:116:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "3324:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "3324:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "3335:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3335:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3320:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3320:3:84"
                        },
                        "nativeSrc": "3320:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3320:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "3344:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "3344:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_struct_BatchResult_calldata_dyn_calldata",
                      "nativeSrc": "3262:57:84",
                      "nodeType": "YulIdentifier",
                      "src": "3262:57:84"
                    },
                    "nativeSrc": "3262:90:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3262:90:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "3240:8:84",
                      "nodeType": "YulTypedName",
                      "src": "3240:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "3250:8:84",
                      "nodeType": "YulTypedName",
                      "src": "3250:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "3361:18:84",
                  "nodeType": "YulAssignment",
                  "src": "3361:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "3371:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "3371:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "3361:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3361:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "3388:18:84",
                  "nodeType": "YulAssignment",
                  "src": "3388:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "3398:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "3398:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "3388:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3388:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_struct$_BatchResult_$13391_calldata_ptr_$dyn_calldata_ptr",
            "nativeSrc": "2923:489:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "3018:9:84",
                "nodeType": "YulTypedName",
                "src": "3018:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "3029:7:84",
                "nodeType": "YulTypedName",
                "src": "3029:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "3041:6:84",
                "nodeType": "YulTypedName",
                "src": "3041:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "3049:6:84",
                "nodeType": "YulTypedName",
                "src": "3049:6:84",
                "type": ""
              }
            ],
            "src": "2923:489:84"
          },
          {
            "body": {
              "nativeSrc": "3487:110:84",
              "nodeType": "YulBlock",
              "src": "3487:110:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "3533:16:84",
                    "nodeType": "YulBlock",
                    "src": "3533:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3542:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3542:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3545:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3545:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3535:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3535:6:84"
                          },
                          "nativeSrc": "3535:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3535:12:84"
                        },
                        "nativeSrc": "3535:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "3535:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "3508:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "3508:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "3517:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "3517:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "3504:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3504:3:84"
                        },
                        "nativeSrc": "3504:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3504:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3529:2:84",
                        "nodeType": "YulLiteral",
                        "src": "3529:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "3500:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3500:3:84"
                    },
                    "nativeSrc": "3500:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3500:32:84"
                  },
                  "nativeSrc": "3497:52:84",
                  "nodeType": "YulIf",
                  "src": "3497:52:84"
                },
                {
                  "nativeSrc": "3558:33:84",
                  "nodeType": "YulAssignment",
                  "src": "3558:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "3581:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "3581:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "3568:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "3568:12:84"
                    },
                    "nativeSrc": "3568:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3568:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "3558:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3558:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256",
            "nativeSrc": "3417:180:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "3453:9:84",
                "nodeType": "YulTypedName",
                "src": "3453:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "3464:7:84",
                "nodeType": "YulTypedName",
                "src": "3464:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "3476:6:84",
                "nodeType": "YulTypedName",
                "src": "3476:6:84",
                "type": ""
              }
            ],
            "src": "3417:180:84"
          },
          {
            "body": {
              "nativeSrc": "3651:221:84",
              "nodeType": "YulBlock",
              "src": "3651:221:84",
              "statements": [
                {
                  "nativeSrc": "3661:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3661:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "3681:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "3681:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "3675:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "3675:5:84"
                    },
                    "nativeSrc": "3675:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3675:12:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "3665:6:84",
                      "nodeType": "YulTypedName",
                      "src": "3665:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "3703:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "3703:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "3708:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3708:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3696:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3696:6:84"
                    },
                    "nativeSrc": "3696:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3696:19:84"
                  },
                  "nativeSrc": "3696:19:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3696:19:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "3763:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "3763:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3770:4:84",
                            "nodeType": "YulLiteral",
                            "src": "3770:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3759:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3759:3:84"
                        },
                        "nativeSrc": "3759:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3759:16:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3781:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "3781:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3786:4:84",
                            "nodeType": "YulLiteral",
                            "src": "3786:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3777:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3777:3:84"
                        },
                        "nativeSrc": "3777:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3777:14:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "3793:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3793:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "3724:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "3724:34:84"
                    },
                    "nativeSrc": "3724:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3724:76:84"
                  },
                  "nativeSrc": "3724:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3724:76:84"
                },
                {
                  "nativeSrc": "3809:57:84",
                  "nodeType": "YulAssignment",
                  "src": "3809:57:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3824:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "3824:3:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "3837:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "3837:6:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3845:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "3845:2:84",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "3833:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "3833:3:84"
                                },
                                "nativeSrc": "3833:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "3833:15:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3854:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "3854:2:84",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "3850:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "3850:3:84"
                                },
                                "nativeSrc": "3850:7:84",
                                "nodeType": "YulFunctionCall",
                                "src": "3850:7:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "3829:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "3829:3:84"
                            },
                            "nativeSrc": "3829:29:84",
                            "nodeType": "YulFunctionCall",
                            "src": "3829:29:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3820:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3820:3:84"
                        },
                        "nativeSrc": "3820:39:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3820:39:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3861:4:84",
                        "nodeType": "YulLiteral",
                        "src": "3861:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3816:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3816:3:84"
                    },
                    "nativeSrc": "3816:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3816:50:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "3809:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "3809:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_bytes",
            "nativeSrc": "3602:270:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "3628:5:84",
                "nodeType": "YulTypedName",
                "src": "3628:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "3635:3:84",
                "nodeType": "YulTypedName",
                "src": "3635:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "3643:3:84",
                "nodeType": "YulTypedName",
                "src": "3643:3:84",
                "type": ""
              }
            ],
            "src": "3602:270:84"
          },
          {
            "body": {
              "nativeSrc": "3936:428:84",
              "nodeType": "YulBlock",
              "src": "3936:428:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "3953:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "3953:3:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "3968:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "3968:5:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "3962:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "3962:5:84"
                            },
                            "nativeSrc": "3962:12:84",
                            "nodeType": "YulFunctionCall",
                            "src": "3962:12:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3984:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "3984:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3989:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "3989:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "3980:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "3980:3:84"
                                },
                                "nativeSrc": "3980:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "3980:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "3993:1:84",
                                "nodeType": "YulLiteral",
                                "src": "3993:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "3976:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "3976:3:84"
                            },
                            "nativeSrc": "3976:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "3976:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "3958:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3958:3:84"
                        },
                        "nativeSrc": "3958:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3958:38:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3946:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3946:6:84"
                    },
                    "nativeSrc": "3946:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3946:51:84"
                  },
                  "nativeSrc": "3946:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3946:51:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4017:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4017:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4022:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4022:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4013:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4013:3:84"
                        },
                        "nativeSrc": "4013:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4013:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "4043:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4043:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4050:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4050:4:84",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "4039:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4039:3:84"
                                },
                                "nativeSrc": "4039:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4039:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4033:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4033:5:84"
                            },
                            "nativeSrc": "4033:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4033:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4058:18:84",
                            "nodeType": "YulLiteral",
                            "src": "4058:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4029:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4029:3:84"
                        },
                        "nativeSrc": "4029:48:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4029:48:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4006:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4006:6:84"
                    },
                    "nativeSrc": "4006:72:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4006:72:84"
                  },
                  "nativeSrc": "4006:72:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4006:72:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4098:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4098:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4103:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4103:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4094:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4094:3:84"
                        },
                        "nativeSrc": "4094:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4094:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "4124:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4124:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4131:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4131:4:84",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "4120:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4120:3:84"
                                },
                                "nativeSrc": "4120:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4120:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4114:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4114:5:84"
                            },
                            "nativeSrc": "4114:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4114:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4139:10:84",
                            "nodeType": "YulLiteral",
                            "src": "4139:10:84",
                            "type": "",
                            "value": "0xffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4110:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4110:3:84"
                        },
                        "nativeSrc": "4110:40:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4110:40:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4087:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4087:6:84"
                    },
                    "nativeSrc": "4087:64:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4087:64:84"
                  },
                  "nativeSrc": "4087:64:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4087:64:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4171:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4171:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4176:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4176:4:84",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4167:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4167:3:84"
                        },
                        "nativeSrc": "4167:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4167:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "4193:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "4193:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "4200:4:84",
                                "nodeType": "YulLiteral",
                                "src": "4200:4:84",
                                "type": "",
                                "value": "0x60"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "4189:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "4189:3:84"
                            },
                            "nativeSrc": "4189:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4189:16:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "4183:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "4183:5:84"
                        },
                        "nativeSrc": "4183:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4183:23:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4160:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4160:6:84"
                    },
                    "nativeSrc": "4160:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4160:47:84"
                  },
                  "nativeSrc": "4160:47:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4160:47:84"
                },
                {
                  "nativeSrc": "4216:43:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4216:43:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "4246:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "4246:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4253:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4253:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4242:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4242:3:84"
                        },
                        "nativeSrc": "4242:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4242:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "4236:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "4236:5:84"
                    },
                    "nativeSrc": "4236:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4236:23:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "4220:12:84",
                      "nodeType": "YulTypedName",
                      "src": "4220:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4279:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4279:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4284:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4284:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4275:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4275:3:84"
                        },
                        "nativeSrc": "4275:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4275:14:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4291:4:84",
                        "nodeType": "YulLiteral",
                        "src": "4291:4:84",
                        "type": "",
                        "value": "0xa0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4268:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4268:6:84"
                    },
                    "nativeSrc": "4268:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4268:28:84"
                  },
                  "nativeSrc": "4268:28:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4268:28:84"
                },
                {
                  "nativeSrc": "4305:53:84",
                  "nodeType": "YulAssignment",
                  "src": "4305:53:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "4329:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "4329:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4347:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4347:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4352:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4352:4:84",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4343:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4343:3:84"
                        },
                        "nativeSrc": "4343:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4343:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "4312:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "4312:16:84"
                    },
                    "nativeSrc": "4312:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4312:46:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "4305:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "4305:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_struct_Response",
            "nativeSrc": "3877:487:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "3913:5:84",
                "nodeType": "YulTypedName",
                "src": "3913:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "3920:3:84",
                "nodeType": "YulTypedName",
                "src": "3920:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "3928:3:84",
                "nodeType": "YulTypedName",
                "src": "3928:3:84",
                "type": ""
              }
            ],
            "src": "3877:487:84"
          },
          {
            "body": {
              "nativeSrc": "4524:108:84",
              "nodeType": "YulBlock",
              "src": "4524:108:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "4541:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "4541:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4552:2:84",
                        "nodeType": "YulLiteral",
                        "src": "4552:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4534:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4534:6:84"
                    },
                    "nativeSrc": "4534:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4534:21:84"
                  },
                  "nativeSrc": "4534:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4534:21:84"
                },
                {
                  "nativeSrc": "4564:62:84",
                  "nodeType": "YulAssignment",
                  "src": "4564:62:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "4599:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "4599:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "4611:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "4611:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4622:2:84",
                            "nodeType": "YulLiteral",
                            "src": "4622:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4607:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4607:3:84"
                        },
                        "nativeSrc": "4607:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4607:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Response",
                      "nativeSrc": "4572:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "4572:26:84"
                    },
                    "nativeSrc": "4572:54:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4572:54:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "4564:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "4564:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Response_$23488_memory_ptr__to_t_struct$_Response_$23488_memory_ptr__fromStack_reversed",
            "nativeSrc": "4369:263:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "4493:9:84",
                "nodeType": "YulTypedName",
                "src": "4493:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "4504:6:84",
                "nodeType": "YulTypedName",
                "src": "4504:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "4515:4:84",
                "nodeType": "YulTypedName",
                "src": "4515:4:84",
                "type": ""
              }
            ],
            "src": "4369:263:84"
          },
          {
            "body": {
              "nativeSrc": "4695:661:84",
              "nodeType": "YulBlock",
              "src": "4695:661:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "4712:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "4712:3:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "4727:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "4727:5:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4721:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4721:5:84"
                            },
                            "nativeSrc": "4721:12:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4721:12:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4743:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4743:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4748:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4748:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "4739:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4739:3:84"
                                },
                                "nativeSrc": "4739:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4739:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "4752:1:84",
                                "nodeType": "YulLiteral",
                                "src": "4752:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "4735:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "4735:3:84"
                            },
                            "nativeSrc": "4735:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4735:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4717:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4717:3:84"
                        },
                        "nativeSrc": "4717:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4717:38:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4705:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4705:6:84"
                    },
                    "nativeSrc": "4705:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4705:51:84"
                  },
                  "nativeSrc": "4705:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4705:51:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4776:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4776:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4781:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4781:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4772:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4772:3:84"
                        },
                        "nativeSrc": "4772:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4772:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "4802:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4802:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4809:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4809:4:84",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "4798:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4798:3:84"
                                },
                                "nativeSrc": "4798:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4798:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4792:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4792:5:84"
                            },
                            "nativeSrc": "4792:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4792:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4817:8:84",
                            "nodeType": "YulLiteral",
                            "src": "4817:8:84",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4788:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4788:3:84"
                        },
                        "nativeSrc": "4788:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4788:38:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4765:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4765:6:84"
                    },
                    "nativeSrc": "4765:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4765:62:84"
                  },
                  "nativeSrc": "4765:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4765:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4847:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4847:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4852:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4852:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4843:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4843:3:84"
                        },
                        "nativeSrc": "4843:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4843:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "4873:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4873:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4880:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4880:4:84",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "4869:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4869:3:84"
                                },
                                "nativeSrc": "4869:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4869:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "4863:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "4863:5:84"
                            },
                            "nativeSrc": "4863:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4863:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4888:20:84",
                            "nodeType": "YulLiteral",
                            "src": "4888:20:84",
                            "type": "",
                            "value": "0xffffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4859:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4859:3:84"
                        },
                        "nativeSrc": "4859:50:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4859:50:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4836:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4836:6:84"
                    },
                    "nativeSrc": "4836:74:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4836:74:84"
                  },
                  "nativeSrc": "4836:74:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4836:74:84"
                },
                {
                  "nativeSrc": "4919:43:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4919:43:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "4949:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "4949:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4956:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4956:4:84",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4945:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4945:3:84"
                        },
                        "nativeSrc": "4945:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4945:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "4939:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "4939:5:84"
                    },
                    "nativeSrc": "4939:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4939:23:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "4923:12:84",
                      "nodeType": "YulTypedName",
                      "src": "4923:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4982:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4982:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4987:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4987:4:84",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4978:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4978:3:84"
                        },
                        "nativeSrc": "4978:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4978:14:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4994:4:84",
                        "nodeType": "YulLiteral",
                        "src": "4994:4:84",
                        "type": "",
                        "value": "0xe0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4971:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4971:6:84"
                    },
                    "nativeSrc": "4971:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4971:28:84"
                  },
                  "nativeSrc": "4971:28:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4971:28:84"
                },
                {
                  "nativeSrc": "5008:58:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5008:58:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "5037:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "5037:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "5055:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "5055:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5060:4:84",
                            "nodeType": "YulLiteral",
                            "src": "5060:4:84",
                            "type": "",
                            "value": "0xe0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5051:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5051:3:84"
                        },
                        "nativeSrc": "5051:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5051:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "5020:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "5020:16:84"
                    },
                    "nativeSrc": "5020:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5020:46:84"
                  },
                  "variables": [
                    {
                      "name": "tail",
                      "nativeSrc": "5012:4:84",
                      "nodeType": "YulTypedName",
                      "src": "5012:4:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "5086:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "5086:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5091:4:84",
                            "nodeType": "YulLiteral",
                            "src": "5091:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5082:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5082:3:84"
                        },
                        "nativeSrc": "5082:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5082:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "5108:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "5108:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "5115:4:84",
                                "nodeType": "YulLiteral",
                                "src": "5115:4:84",
                                "type": "",
                                "value": "0x80"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "5104:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "5104:3:84"
                            },
                            "nativeSrc": "5104:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "5104:16:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "5098:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "5098:5:84"
                        },
                        "nativeSrc": "5098:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5098:23:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5075:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5075:6:84"
                    },
                    "nativeSrc": "5075:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5075:47:84"
                  },
                  "nativeSrc": "5075:47:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5075:47:84"
                },
                {
                  "nativeSrc": "5131:45:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5131:45:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "5163:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "5163:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5170:4:84",
                            "nodeType": "YulLiteral",
                            "src": "5170:4:84",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5159:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5159:3:84"
                        },
                        "nativeSrc": "5159:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5159:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "5153:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "5153:5:84"
                    },
                    "nativeSrc": "5153:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5153:23:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_1",
                      "nativeSrc": "5135:14:84",
                      "nodeType": "YulTypedName",
                      "src": "5135:14:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "5196:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "5196:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5201:4:84",
                            "nodeType": "YulLiteral",
                            "src": "5201:4:84",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5192:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5192:3:84"
                        },
                        "nativeSrc": "5192:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5192:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memberValue0_1",
                                "nativeSrc": "5218:14:84",
                                "nodeType": "YulIdentifier",
                                "src": "5218:14:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "5212:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "5212:5:84"
                            },
                            "nativeSrc": "5212:21:84",
                            "nodeType": "YulFunctionCall",
                            "src": "5212:21:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5235:4:84",
                            "nodeType": "YulLiteral",
                            "src": "5235:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "5208:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5208:3:84"
                        },
                        "nativeSrc": "5208:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5208:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5185:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5185:6:84"
                    },
                    "nativeSrc": "5185:56:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5185:56:84"
                  },
                  "nativeSrc": "5185:56:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5185:56:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "5261:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "5261:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5266:3:84",
                            "nodeType": "YulLiteral",
                            "src": "5266:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5257:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5257:3:84"
                        },
                        "nativeSrc": "5257:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5257:13:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "memberValue0_1",
                                    "nativeSrc": "5286:14:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "5286:14:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "5302:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "5302:4:84",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "5282:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "5282:3:84"
                                },
                                "nativeSrc": "5282:25:84",
                                "nodeType": "YulFunctionCall",
                                "src": "5282:25:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "5276:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "5276:5:84"
                            },
                            "nativeSrc": "5276:32:84",
                            "nodeType": "YulFunctionCall",
                            "src": "5276:32:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5310:18:84",
                            "nodeType": "YulLiteral",
                            "src": "5310:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "5272:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5272:3:84"
                        },
                        "nativeSrc": "5272:57:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5272:57:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5250:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5250:6:84"
                    },
                    "nativeSrc": "5250:80:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5250:80:84"
                  },
                  "nativeSrc": "5250:80:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5250:80:84"
                },
                {
                  "nativeSrc": "5339:11:84",
                  "nodeType": "YulAssignment",
                  "src": "5339:11:84",
                  "value": {
                    "name": "tail",
                    "nativeSrc": "5346:4:84",
                    "nodeType": "YulIdentifier",
                    "src": "5346:4:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "5339:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "5339:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_struct_Request",
            "nativeSrc": "4637:719:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "4672:5:84",
                "nodeType": "YulTypedName",
                "src": "4672:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "4679:3:84",
                "nodeType": "YulTypedName",
                "src": "4679:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "4687:3:84",
                "nodeType": "YulTypedName",
                "src": "4687:3:84",
                "type": ""
              }
            ],
            "src": "4637:719:84"
          },
          {
            "body": {
              "nativeSrc": "5514:107:84",
              "nodeType": "YulBlock",
              "src": "5514:107:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5531:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "5531:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5542:2:84",
                        "nodeType": "YulLiteral",
                        "src": "5542:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5524:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5524:6:84"
                    },
                    "nativeSrc": "5524:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5524:21:84"
                  },
                  "nativeSrc": "5524:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5524:21:84"
                },
                {
                  "nativeSrc": "5554:61:84",
                  "nodeType": "YulAssignment",
                  "src": "5554:61:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "5588:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "5588:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5600:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "5600:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5611:2:84",
                            "nodeType": "YulLiteral",
                            "src": "5611:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5596:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5596:3:84"
                        },
                        "nativeSrc": "5596:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5596:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Request",
                      "nativeSrc": "5562:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "5562:25:84"
                    },
                    "nativeSrc": "5562:53:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5562:53:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "5554:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "5554:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Request_$23476_memory_ptr__to_t_struct$_Request_$23476_memory_ptr__fromStack_reversed",
            "nativeSrc": "5361:260:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5483:9:84",
                "nodeType": "YulTypedName",
                "src": "5483:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "5494:6:84",
                "nodeType": "YulTypedName",
                "src": "5494:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "5505:4:84",
                "nodeType": "YulTypedName",
                "src": "5505:4:84",
                "type": ""
              }
            ],
            "src": "5361:260:84"
          },
          {
            "body": {
              "nativeSrc": "5658:95:84",
              "nodeType": "YulBlock",
              "src": "5658:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5675:1:84",
                        "nodeType": "YulLiteral",
                        "src": "5675:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "5682:3:84",
                            "nodeType": "YulLiteral",
                            "src": "5682:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5687:10:84",
                            "nodeType": "YulLiteral",
                            "src": "5687:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "5678:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5678:3:84"
                        },
                        "nativeSrc": "5678:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5678:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5668:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5668:6:84"
                    },
                    "nativeSrc": "5668:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5668:31:84"
                  },
                  "nativeSrc": "5668:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5668:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5715:1:84",
                        "nodeType": "YulLiteral",
                        "src": "5715:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5718:4:84",
                        "nodeType": "YulLiteral",
                        "src": "5718:4:84",
                        "type": "",
                        "value": "0x21"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5708:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5708:6:84"
                    },
                    "nativeSrc": "5708:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5708:15:84"
                  },
                  "nativeSrc": "5708:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5708:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5739:1:84",
                        "nodeType": "YulLiteral",
                        "src": "5739:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5742:4:84",
                        "nodeType": "YulLiteral",
                        "src": "5742:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "5732:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5732:6:84"
                    },
                    "nativeSrc": "5732:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5732:15:84"
                  },
                  "nativeSrc": "5732:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5732:15:84"
                }
              ]
            },
            "name": "panic_error_0x21",
            "nativeSrc": "5626:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "5626:127:84"
          },
          {
            "body": {
              "nativeSrc": "5814:89:84",
              "nodeType": "YulBlock",
              "src": "5814:89:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "5848:22:84",
                    "nodeType": "YulBlock",
                    "src": "5848:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "5850:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "5850:16:84"
                          },
                          "nativeSrc": "5850:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "5850:18:84"
                        },
                        "nativeSrc": "5850:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "5850:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "5837:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "5837:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5844:1:84",
                            "nodeType": "YulLiteral",
                            "src": "5844:1:84",
                            "type": "",
                            "value": "6"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "5834:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "5834:2:84"
                        },
                        "nativeSrc": "5834:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5834:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "5827:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5827:6:84"
                    },
                    "nativeSrc": "5827:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5827:20:84"
                  },
                  "nativeSrc": "5824:46:84",
                  "nodeType": "YulIf",
                  "src": "5824:46:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "5886:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "5886:3:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "5891:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "5891:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5879:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5879:6:84"
                    },
                    "nativeSrc": "5879:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5879:18:84"
                  },
                  "nativeSrc": "5879:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5879:18:84"
                }
              ]
            },
            "name": "abi_encode_enum_ResponseStatus",
            "nativeSrc": "5758:145:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "5798:5:84",
                "nodeType": "YulTypedName",
                "src": "5798:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "5805:3:84",
                "nodeType": "YulTypedName",
                "src": "5805:3:84",
                "type": ""
              }
            ],
            "src": "5758:145:84"
          },
          {
            "body": {
              "nativeSrc": "6027:100:84",
              "nodeType": "YulBlock",
              "src": "6027:100:84",
              "statements": [
                {
                  "nativeSrc": "6037:26:84",
                  "nodeType": "YulAssignment",
                  "src": "6037:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6049:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "6049:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6060:2:84",
                        "nodeType": "YulLiteral",
                        "src": "6060:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6045:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6045:3:84"
                    },
                    "nativeSrc": "6045:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6045:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "6037:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "6037:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "6103:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6103:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "6111:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "6111:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResponseStatus",
                      "nativeSrc": "6072:30:84",
                      "nodeType": "YulIdentifier",
                      "src": "6072:30:84"
                    },
                    "nativeSrc": "6072:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6072:49:84"
                  },
                  "nativeSrc": "6072:49:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6072:49:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_ResponseStatus_$23496__to_t_uint8__fromStack_reversed",
            "nativeSrc": "5908:219:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5996:9:84",
                "nodeType": "YulTypedName",
                "src": "5996:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "6007:6:84",
                "nodeType": "YulTypedName",
                "src": "6007:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "6018:4:84",
                "nodeType": "YulTypedName",
                "src": "6018:4:84",
                "type": ""
              }
            ],
            "src": "5908:219:84"
          },
          {
            "body": {
              "nativeSrc": "6164:95:84",
              "nodeType": "YulBlock",
              "src": "6164:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6181:1:84",
                        "nodeType": "YulLiteral",
                        "src": "6181:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "6188:3:84",
                            "nodeType": "YulLiteral",
                            "src": "6188:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6193:10:84",
                            "nodeType": "YulLiteral",
                            "src": "6193:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "6184:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6184:3:84"
                        },
                        "nativeSrc": "6184:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6184:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6174:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6174:6:84"
                    },
                    "nativeSrc": "6174:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6174:31:84"
                  },
                  "nativeSrc": "6174:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6174:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6221:1:84",
                        "nodeType": "YulLiteral",
                        "src": "6221:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6224:4:84",
                        "nodeType": "YulLiteral",
                        "src": "6224:4:84",
                        "type": "",
                        "value": "0x41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6214:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6214:6:84"
                    },
                    "nativeSrc": "6214:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6214:15:84"
                  },
                  "nativeSrc": "6214:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6214:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6245:1:84",
                        "nodeType": "YulLiteral",
                        "src": "6245:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6248:4:84",
                        "nodeType": "YulLiteral",
                        "src": "6248:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "6238:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6238:6:84"
                    },
                    "nativeSrc": "6238:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6238:15:84"
                  },
                  "nativeSrc": "6238:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6238:15:84"
                }
              ]
            },
            "name": "panic_error_0x41",
            "nativeSrc": "6132:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "6132:127:84"
          },
          {
            "body": {
              "nativeSrc": "6311:202:84",
              "nodeType": "YulBlock",
              "src": "6311:202:84",
              "statements": [
                {
                  "nativeSrc": "6321:58:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6321:58:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "6343:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6343:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "size",
                                "nativeSrc": "6359:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "6359:4:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "6365:2:84",
                                "nodeType": "YulLiteral",
                                "src": "6365:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "6355:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "6355:3:84"
                            },
                            "nativeSrc": "6355:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "6355:13:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "6374:2:84",
                                "nodeType": "YulLiteral",
                                "src": "6374:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "6370:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "6370:3:84"
                            },
                            "nativeSrc": "6370:7:84",
                            "nodeType": "YulFunctionCall",
                            "src": "6370:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "6351:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6351:3:84"
                        },
                        "nativeSrc": "6351:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6351:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6339:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6339:3:84"
                    },
                    "nativeSrc": "6339:40:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6339:40:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "6325:10:84",
                      "nodeType": "YulTypedName",
                      "src": "6325:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6454:22:84",
                    "nodeType": "YulBlock",
                    "src": "6454:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "6456:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "6456:16:84"
                          },
                          "nativeSrc": "6456:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6456:18:84"
                        },
                        "nativeSrc": "6456:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6456:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6397:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "6397:10:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6409:18:84",
                            "nodeType": "YulLiteral",
                            "src": "6409:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "6394:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "6394:2:84"
                        },
                        "nativeSrc": "6394:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6394:34:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "6433:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "6433:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "6445:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6445:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "6430:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "6430:2:84"
                        },
                        "nativeSrc": "6430:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6430:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "6391:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "6391:2:84"
                    },
                    "nativeSrc": "6391:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6391:62:84"
                  },
                  "nativeSrc": "6388:88:84",
                  "nodeType": "YulIf",
                  "src": "6388:88:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "6492:2:84",
                        "nodeType": "YulLiteral",
                        "src": "6492:2:84",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "6496:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "6496:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6485:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6485:6:84"
                    },
                    "nativeSrc": "6485:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6485:22:84"
                  },
                  "nativeSrc": "6485:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6485:22:84"
                }
              ]
            },
            "name": "finalize_allocation",
            "nativeSrc": "6264:249:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "memPtr",
                "nativeSrc": "6293:6:84",
                "nodeType": "YulTypedName",
                "src": "6293:6:84",
                "type": ""
              },
              {
                "name": "size",
                "nativeSrc": "6301:4:84",
                "nodeType": "YulTypedName",
                "src": "6301:4:84",
                "type": ""
              }
            ],
            "src": "6264:249:84"
          },
          {
            "body": {
              "nativeSrc": "6587:114:84",
              "nodeType": "YulBlock",
              "src": "6587:114:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "6631:22:84",
                    "nodeType": "YulBlock",
                    "src": "6631:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "6633:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "6633:16:84"
                          },
                          "nativeSrc": "6633:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6633:18:84"
                        },
                        "nativeSrc": "6633:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6633:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "6603:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6603:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6611:18:84",
                        "nodeType": "YulLiteral",
                        "src": "6611:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "6600:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "6600:2:84"
                    },
                    "nativeSrc": "6600:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6600:30:84"
                  },
                  "nativeSrc": "6597:56:84",
                  "nodeType": "YulIf",
                  "src": "6597:56:84"
                },
                {
                  "nativeSrc": "6662:33:84",
                  "nodeType": "YulAssignment",
                  "src": "6662:33:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "6678:1:84",
                            "nodeType": "YulLiteral",
                            "src": "6678:1:84",
                            "type": "",
                            "value": "5"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "6681:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6681:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "6674:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6674:3:84"
                        },
                        "nativeSrc": "6674:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6674:14:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6690:4:84",
                        "nodeType": "YulLiteral",
                        "src": "6690:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6670:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6670:3:84"
                    },
                    "nativeSrc": "6670:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6670:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "size",
                      "nativeSrc": "6662:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "6662:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "array_allocation_size_array_address_dyn",
            "nativeSrc": "6518:183:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "length",
                "nativeSrc": "6567:6:84",
                "nodeType": "YulTypedName",
                "src": "6567:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "size",
                "nativeSrc": "6578:4:84",
                "nodeType": "YulTypedName",
                "src": "6578:4:84",
                "type": ""
              }
            ],
            "src": "6518:183:84"
          },
          {
            "body": {
              "nativeSrc": "6801:933:84",
              "nodeType": "YulBlock",
              "src": "6801:933:84",
              "statements": [
                {
                  "nativeSrc": "6811:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6811:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "6821:2:84",
                    "nodeType": "YulLiteral",
                    "src": "6821:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "6815:2:84",
                      "nodeType": "YulTypedName",
                      "src": "6815:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6868:16:84",
                    "nodeType": "YulBlock",
                    "src": "6868:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6877:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6877:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6880:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6880:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6870:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6870:6:84"
                          },
                          "nativeSrc": "6870:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6870:12:84"
                        },
                        "nativeSrc": "6870:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6870:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "6843:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "6843:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "6852:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "6852:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "6839:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6839:3:84"
                        },
                        "nativeSrc": "6839:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6839:23:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "6864:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "6864:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "6835:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6835:3:84"
                    },
                    "nativeSrc": "6835:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6835:32:84"
                  },
                  "nativeSrc": "6832:52:84",
                  "nodeType": "YulIf",
                  "src": "6832:52:84"
                },
                {
                  "nativeSrc": "6893:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6893:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6920:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "6920:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "6907:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "6907:12:84"
                    },
                    "nativeSrc": "6907:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6907:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "6897:6:84",
                      "nodeType": "YulTypedName",
                      "src": "6897:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6973:16:84",
                    "nodeType": "YulBlock",
                    "src": "6973:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6982:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6982:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6985:1:84",
                              "nodeType": "YulLiteral",
                              "src": "6985:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6975:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6975:6:84"
                          },
                          "nativeSrc": "6975:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "6975:12:84"
                        },
                        "nativeSrc": "6975:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "6975:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "6945:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6945:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6953:18:84",
                        "nodeType": "YulLiteral",
                        "src": "6953:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "6942:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "6942:2:84"
                    },
                    "nativeSrc": "6942:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6942:30:84"
                  },
                  "nativeSrc": "6939:50:84",
                  "nodeType": "YulIf",
                  "src": "6939:50:84"
                },
                {
                  "nativeSrc": "6998:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6998:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7012:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "7012:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "7023:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7023:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7008:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7008:3:84"
                    },
                    "nativeSrc": "7008:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7008:22:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "7002:2:84",
                      "nodeType": "YulTypedName",
                      "src": "7002:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7078:16:84",
                    "nodeType": "YulBlock",
                    "src": "7078:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7087:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7087:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7090:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7090:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7080:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7080:6:84"
                          },
                          "nativeSrc": "7080:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7080:12:84"
                        },
                        "nativeSrc": "7080:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7080:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "7057:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "7057:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "7061:4:84",
                                "nodeType": "YulLiteral",
                                "src": "7061:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "7053:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7053:3:84"
                            },
                            "nativeSrc": "7053:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "7053:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "7068:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "7068:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "7049:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7049:3:84"
                        },
                        "nativeSrc": "7049:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7049:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "7042:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7042:6:84"
                    },
                    "nativeSrc": "7042:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7042:35:84"
                  },
                  "nativeSrc": "7039:55:84",
                  "nodeType": "YulIf",
                  "src": "7039:55:84"
                },
                {
                  "nativeSrc": "7103:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7103:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "7126:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7126:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "7113:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "7113:12:84"
                    },
                    "nativeSrc": "7113:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7113:16:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "7107:2:84",
                      "nodeType": "YulTypedName",
                      "src": "7107:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "7138:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7138:53:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_3",
                        "nativeSrc": "7188:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7188:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_array_address_dyn",
                      "nativeSrc": "7148:39:84",
                      "nodeType": "YulIdentifier",
                      "src": "7148:39:84"
                    },
                    "nativeSrc": "7148:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7148:43:84"
                  },
                  "variables": [
                    {
                      "name": "_4",
                      "nativeSrc": "7142:2:84",
                      "nodeType": "YulTypedName",
                      "src": "7142:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "7200:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7200:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "7220:2:84",
                        "nodeType": "YulLiteral",
                        "src": "7220:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "7214:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "7214:5:84"
                    },
                    "nativeSrc": "7214:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7214:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "7204:6:84",
                      "nodeType": "YulTypedName",
                      "src": "7204:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "7252:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7252:6:84"
                      },
                      {
                        "name": "_4",
                        "nativeSrc": "7260:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7260:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "7232:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "7232:19:84"
                    },
                    "nativeSrc": "7232:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7232:31:84"
                  },
                  "nativeSrc": "7232:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "7232:31:84"
                },
                {
                  "nativeSrc": "7272:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7272:17:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "7283:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "7283:6:84"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "7276:3:84",
                      "nodeType": "YulTypedName",
                      "src": "7276:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "7305:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7305:6:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "7313:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7313:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7298:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7298:6:84"
                    },
                    "nativeSrc": "7298:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7298:18:84"
                  },
                  "nativeSrc": "7298:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "7298:18:84"
                },
                {
                  "nativeSrc": "7325:22:84",
                  "nodeType": "YulAssignment",
                  "src": "7325:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "7336:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7336:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "7344:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7344:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7332:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7332:3:84"
                    },
                    "nativeSrc": "7332:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7332:15:84"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "7325:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7325:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "7356:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7356:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "7378:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "7378:2:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "7386:1:84",
                                "nodeType": "YulLiteral",
                                "src": "7386:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "_3",
                                "nativeSrc": "7389:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "7389:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "7382:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7382:3:84"
                            },
                            "nativeSrc": "7382:10:84",
                            "nodeType": "YulFunctionCall",
                            "src": "7382:10:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7374:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7374:3:84"
                        },
                        "nativeSrc": "7374:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7374:19:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "7395:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7395:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7370:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7370:3:84"
                    },
                    "nativeSrc": "7370:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7370:28:84"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "7360:6:84",
                      "nodeType": "YulTypedName",
                      "src": "7360:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7430:16:84",
                    "nodeType": "YulBlock",
                    "src": "7430:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7439:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7439:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7442:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7442:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7432:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7432:6:84"
                          },
                          "nativeSrc": "7432:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7432:12:84"
                        },
                        "nativeSrc": "7432:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7432:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "7413:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7413:6:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "7421:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "7421:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "7410:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "7410:2:84"
                    },
                    "nativeSrc": "7410:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7410:19:84"
                  },
                  "nativeSrc": "7407:39:84",
                  "nodeType": "YulIf",
                  "src": "7407:39:84"
                },
                {
                  "nativeSrc": "7455:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7455:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "7470:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7470:2:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "7474:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7474:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7466:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7466:3:84"
                    },
                    "nativeSrc": "7466:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7466:11:84"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "7459:3:84",
                      "nodeType": "YulTypedName",
                      "src": "7459:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7542:161:84",
                    "nodeType": "YulBlock",
                    "src": "7542:161:84",
                    "statements": [
                      {
                        "nativeSrc": "7556:30:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "7556:30:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "7582:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7582:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "calldataload",
                            "nativeSrc": "7569:12:84",
                            "nodeType": "YulIdentifier",
                            "src": "7569:12:84"
                          },
                          "nativeSrc": "7569:17:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7569:17:84"
                        },
                        "variables": [
                          {
                            "name": "value",
                            "nativeSrc": "7560:5:84",
                            "nodeType": "YulTypedName",
                            "src": "7560:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "value",
                              "nativeSrc": "7624:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "7624:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "validator_revert_address",
                            "nativeSrc": "7599:24:84",
                            "nodeType": "YulIdentifier",
                            "src": "7599:24:84"
                          },
                          "nativeSrc": "7599:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7599:31:84"
                        },
                        "nativeSrc": "7599:31:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7599:31:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "7650:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7650:3:84"
                            },
                            {
                              "name": "value",
                              "nativeSrc": "7655:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "7655:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "7643:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7643:6:84"
                          },
                          "nativeSrc": "7643:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7643:18:84"
                        },
                        "nativeSrc": "7643:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7643:18:84"
                      },
                      {
                        "nativeSrc": "7674:19:84",
                        "nodeType": "YulAssignment",
                        "src": "7674:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "7685:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7685:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "7690:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "7690:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "7681:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7681:3:84"
                          },
                          "nativeSrc": "7681:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7681:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "7674:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7674:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "7497:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "7497:3:84"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "7502:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7502:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "7494:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "7494:2:84"
                    },
                    "nativeSrc": "7494:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7494:15:84"
                  },
                  "nativeSrc": "7486:217:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "7510:23:84",
                    "nodeType": "YulBlock",
                    "src": "7510:23:84",
                    "statements": [
                      {
                        "nativeSrc": "7512:19:84",
                        "nodeType": "YulAssignment",
                        "src": "7512:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "7523:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "7523:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "7528:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "7528:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "7519:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7519:3:84"
                          },
                          "nativeSrc": "7519:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7519:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "7512:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7512:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "7490:3:84",
                    "nodeType": "YulBlock",
                    "src": "7490:3:84",
                    "statements": []
                  },
                  "src": "7486:217:84"
                },
                {
                  "nativeSrc": "7712:16:84",
                  "nodeType": "YulAssignment",
                  "src": "7712:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "7722:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "7722:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "7712:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7712:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr",
            "nativeSrc": "6706:1028:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "6767:9:84",
                "nodeType": "YulTypedName",
                "src": "6767:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "6778:7:84",
                "nodeType": "YulTypedName",
                "src": "6778:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "6790:6:84",
                "nodeType": "YulTypedName",
                "src": "6790:6:84",
                "type": ""
              }
            ],
            "src": "6706:1028:84"
          },
          {
            "body": {
              "nativeSrc": "7810:85:84",
              "nodeType": "YulBlock",
              "src": "7810:85:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "7849:16:84",
                    "nodeType": "YulBlock",
                    "src": "7849:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7858:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7858:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7861:1:84",
                              "nodeType": "YulLiteral",
                              "src": "7861:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7851:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7851:6:84"
                          },
                          "nativeSrc": "7851:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7851:12:84"
                        },
                        "nativeSrc": "7851:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7851:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "7831:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7831:3:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "7836:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7836:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "7827:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7827:3:84"
                        },
                        "nativeSrc": "7827:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7827:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7845:2:84",
                        "nodeType": "YulLiteral",
                        "src": "7845:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "7823:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7823:3:84"
                    },
                    "nativeSrc": "7823:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7823:25:84"
                  },
                  "nativeSrc": "7820:45:84",
                  "nodeType": "YulIf",
                  "src": "7820:45:84"
                },
                {
                  "nativeSrc": "7874:15:84",
                  "nodeType": "YulAssignment",
                  "src": "7874:15:84",
                  "value": {
                    "name": "offset",
                    "nativeSrc": "7883:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "7883:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "7874:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "7874:5:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_struct_RadonSLA_calldata",
            "nativeSrc": "7739:156:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "7784:6:84",
                "nodeType": "YulTypedName",
                "src": "7784:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "7792:3:84",
                "nodeType": "YulTypedName",
                "src": "7792:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "7800:5:84",
                "nodeType": "YulTypedName",
                "src": "7800:5:84",
                "type": ""
              }
            ],
            "src": "7739:156:84"
          },
          {
            "body": {
              "nativeSrc": "8016:193:84",
              "nodeType": "YulBlock",
              "src": "8016:193:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "8062:16:84",
                    "nodeType": "YulBlock",
                    "src": "8062:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8071:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8071:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8074:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8074:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8064:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8064:6:84"
                          },
                          "nativeSrc": "8064:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8064:12:84"
                        },
                        "nativeSrc": "8064:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8064:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "8037:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "8037:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "8046:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "8046:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "8033:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8033:3:84"
                        },
                        "nativeSrc": "8033:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8033:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8058:2:84",
                        "nodeType": "YulLiteral",
                        "src": "8058:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "8029:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8029:3:84"
                    },
                    "nativeSrc": "8029:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8029:32:84"
                  },
                  "nativeSrc": "8026:52:84",
                  "nodeType": "YulIf",
                  "src": "8026:52:84"
                },
                {
                  "nativeSrc": "8087:33:84",
                  "nodeType": "YulAssignment",
                  "src": "8087:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8110:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "8110:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8097:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "8097:12:84"
                    },
                    "nativeSrc": "8097:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8097:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "8087:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8087:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "8129:74:84",
                  "nodeType": "YulAssignment",
                  "src": "8129:74:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "8179:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "8179:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8190:2:84",
                            "nodeType": "YulLiteral",
                            "src": "8190:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8175:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8175:3:84"
                        },
                        "nativeSrc": "8175:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8175:18:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "8195:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "8195:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_RadonSLA_calldata",
                      "nativeSrc": "8139:35:84",
                      "nodeType": "YulIdentifier",
                      "src": "8139:35:84"
                    },
                    "nativeSrc": "8139:64:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8139:64:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "8129:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8129:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes32t_struct$_RadonSLA_$23503_calldata_ptr",
            "nativeSrc": "7900:309:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "7974:9:84",
                "nodeType": "YulTypedName",
                "src": "7974:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "7985:7:84",
                "nodeType": "YulTypedName",
                "src": "7985:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "7997:6:84",
                "nodeType": "YulTypedName",
                "src": "7997:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "8005:6:84",
                "nodeType": "YulTypedName",
                "src": "8005:6:84",
                "type": ""
              }
            ],
            "src": "7900:309:84"
          },
          {
            "body": {
              "nativeSrc": "8271:129:84",
              "nodeType": "YulBlock",
              "src": "8271:129:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "8315:22:84",
                    "nodeType": "YulBlock",
                    "src": "8315:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "8317:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "8317:16:84"
                          },
                          "nativeSrc": "8317:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8317:18:84"
                        },
                        "nativeSrc": "8317:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8317:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "8287:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8287:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8295:18:84",
                        "nodeType": "YulLiteral",
                        "src": "8295:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "8284:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "8284:2:84"
                    },
                    "nativeSrc": "8284:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8284:30:84"
                  },
                  "nativeSrc": "8281:56:84",
                  "nodeType": "YulIf",
                  "src": "8281:56:84"
                },
                {
                  "nativeSrc": "8346:48:84",
                  "nodeType": "YulAssignment",
                  "src": "8346:48:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "length",
                                "nativeSrc": "8366:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "8366:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "8374:2:84",
                                "nodeType": "YulLiteral",
                                "src": "8374:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "8362:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8362:3:84"
                            },
                            "nativeSrc": "8362:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "8362:15:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "8383:2:84",
                                "nodeType": "YulLiteral",
                                "src": "8383:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "8379:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8379:3:84"
                            },
                            "nativeSrc": "8379:7:84",
                            "nodeType": "YulFunctionCall",
                            "src": "8379:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "8358:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8358:3:84"
                        },
                        "nativeSrc": "8358:29:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8358:29:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8389:4:84",
                        "nodeType": "YulLiteral",
                        "src": "8389:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8354:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8354:3:84"
                    },
                    "nativeSrc": "8354:40:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8354:40:84"
                  },
                  "variableNames": [
                    {
                      "name": "size",
                      "nativeSrc": "8346:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "8346:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "array_allocation_size_bytes",
            "nativeSrc": "8214:186:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "length",
                "nativeSrc": "8251:6:84",
                "nodeType": "YulTypedName",
                "src": "8251:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "size",
                "nativeSrc": "8262:4:84",
                "nodeType": "YulTypedName",
                "src": "8262:4:84",
                "type": ""
              }
            ],
            "src": "8214:186:84"
          },
          {
            "body": {
              "nativeSrc": "8484:648:84",
              "nodeType": "YulBlock",
              "src": "8484:648:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "8530:16:84",
                    "nodeType": "YulBlock",
                    "src": "8530:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8539:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8539:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8542:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8542:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8532:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8532:6:84"
                          },
                          "nativeSrc": "8532:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8532:12:84"
                        },
                        "nativeSrc": "8532:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8532:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "8505:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "8505:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "8514:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "8514:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "8501:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8501:3:84"
                        },
                        "nativeSrc": "8501:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8501:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8526:2:84",
                        "nodeType": "YulLiteral",
                        "src": "8526:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "8497:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8497:3:84"
                    },
                    "nativeSrc": "8497:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8497:32:84"
                  },
                  "nativeSrc": "8494:52:84",
                  "nodeType": "YulIf",
                  "src": "8494:52:84"
                },
                {
                  "nativeSrc": "8555:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8555:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8582:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "8582:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8569:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "8569:12:84"
                    },
                    "nativeSrc": "8569:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8569:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "8559:6:84",
                      "nodeType": "YulTypedName",
                      "src": "8559:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8635:16:84",
                    "nodeType": "YulBlock",
                    "src": "8635:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8644:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8644:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8647:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8647:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8637:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8637:6:84"
                          },
                          "nativeSrc": "8637:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8637:12:84"
                        },
                        "nativeSrc": "8637:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8637:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "8607:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8607:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8615:18:84",
                        "nodeType": "YulLiteral",
                        "src": "8615:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "8604:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "8604:2:84"
                    },
                    "nativeSrc": "8604:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8604:30:84"
                  },
                  "nativeSrc": "8601:50:84",
                  "nodeType": "YulIf",
                  "src": "8601:50:84"
                },
                {
                  "nativeSrc": "8660:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8660:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8674:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "8674:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "8685:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8685:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8670:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8670:3:84"
                    },
                    "nativeSrc": "8670:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8670:22:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "8664:2:84",
                      "nodeType": "YulTypedName",
                      "src": "8664:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8740:16:84",
                    "nodeType": "YulBlock",
                    "src": "8740:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8749:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8749:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8752:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8752:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8742:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8742:6:84"
                          },
                          "nativeSrc": "8742:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8742:12:84"
                        },
                        "nativeSrc": "8742:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8742:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "8719:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "8719:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "8723:4:84",
                                "nodeType": "YulLiteral",
                                "src": "8723:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "8715:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8715:3:84"
                            },
                            "nativeSrc": "8715:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "8715:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "8730:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "8730:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "8711:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8711:3:84"
                        },
                        "nativeSrc": "8711:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8711:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "8704:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8704:6:84"
                    },
                    "nativeSrc": "8704:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8704:35:84"
                  },
                  "nativeSrc": "8701:55:84",
                  "nodeType": "YulIf",
                  "src": "8701:55:84"
                },
                {
                  "nativeSrc": "8765:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8765:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "8788:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8788:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8775:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "8775:12:84"
                    },
                    "nativeSrc": "8775:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8775:16:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "8769:2:84",
                      "nodeType": "YulTypedName",
                      "src": "8769:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "8800:41:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8800:41:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "8838:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8838:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_bytes",
                      "nativeSrc": "8810:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "8810:27:84"
                    },
                    "nativeSrc": "8810:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8810:31:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "8804:2:84",
                      "nodeType": "YulTypedName",
                      "src": "8804:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "8850:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8850:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "8870:2:84",
                        "nodeType": "YulLiteral",
                        "src": "8870:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "8864:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "8864:5:84"
                    },
                    "nativeSrc": "8864:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8864:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "8854:6:84",
                      "nodeType": "YulTypedName",
                      "src": "8854:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "8902:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8902:6:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "8910:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8910:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "8882:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "8882:19:84"
                    },
                    "nativeSrc": "8882:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8882:31:84"
                  },
                  "nativeSrc": "8882:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "8882:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "8929:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8929:6:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "8937:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "8937:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8922:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8922:6:84"
                    },
                    "nativeSrc": "8922:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8922:18:84"
                  },
                  "nativeSrc": "8922:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "8922:18:84"
                },
                {
                  "body": {
                    "nativeSrc": "8986:16:84",
                    "nodeType": "YulBlock",
                    "src": "8986:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8995:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8995:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8998:1:84",
                              "nodeType": "YulLiteral",
                              "src": "8998:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8988:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8988:6:84"
                          },
                          "nativeSrc": "8988:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "8988:12:84"
                        },
                        "nativeSrc": "8988:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "8988:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "8963:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "8963:2:84"
                              },
                              {
                                "name": "_2",
                                "nativeSrc": "8967:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "8967:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "8959:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "8959:3:84"
                            },
                            "nativeSrc": "8959:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "8959:11:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8972:2:84",
                            "nodeType": "YulLiteral",
                            "src": "8972:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8955:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8955:3:84"
                        },
                        "nativeSrc": "8955:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8955:20:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "8977:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "8977:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "8952:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "8952:2:84"
                    },
                    "nativeSrc": "8952:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8952:33:84"
                  },
                  "nativeSrc": "8949:53:84",
                  "nodeType": "YulIf",
                  "src": "8949:53:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "9028:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9028:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9036:2:84",
                            "nodeType": "YulLiteral",
                            "src": "9036:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9024:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9024:3:84"
                        },
                        "nativeSrc": "9024:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9024:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "9045:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "9045:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9049:2:84",
                            "nodeType": "YulLiteral",
                            "src": "9049:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9041:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9041:3:84"
                        },
                        "nativeSrc": "9041:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9041:11:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "9054:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "9054:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "9011:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "9011:12:84"
                    },
                    "nativeSrc": "9011:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9011:46:84"
                  },
                  "nativeSrc": "9011:46:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9011:46:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memPtr",
                                "nativeSrc": "9081:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "9081:6:84"
                              },
                              {
                                "name": "_2",
                                "nativeSrc": "9089:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "9089:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "9077:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "9077:3:84"
                            },
                            "nativeSrc": "9077:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "9077:15:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9094:2:84",
                            "nodeType": "YulLiteral",
                            "src": "9094:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9073:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9073:3:84"
                        },
                        "nativeSrc": "9073:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9073:24:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9099:1:84",
                        "nodeType": "YulLiteral",
                        "src": "9099:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9066:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9066:6:84"
                    },
                    "nativeSrc": "9066:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9066:35:84"
                  },
                  "nativeSrc": "9066:35:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9066:35:84"
                },
                {
                  "nativeSrc": "9110:16:84",
                  "nodeType": "YulAssignment",
                  "src": "9110:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "9120:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "9120:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "9110:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9110:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_memory_ptr",
            "nativeSrc": "8405:727:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "8450:9:84",
                "nodeType": "YulTypedName",
                "src": "8450:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "8461:7:84",
                "nodeType": "YulTypedName",
                "src": "8461:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "8473:6:84",
                "nodeType": "YulTypedName",
                "src": "8473:6:84",
                "type": ""
              }
            ],
            "src": "8405:727:84"
          },
          {
            "body": {
              "nativeSrc": "9242:352:84",
              "nodeType": "YulBlock",
              "src": "9242:352:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "9288:16:84",
                    "nodeType": "YulBlock",
                    "src": "9288:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "9297:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9297:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "9300:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9300:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "9290:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9290:6:84"
                          },
                          "nativeSrc": "9290:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "9290:12:84"
                        },
                        "nativeSrc": "9290:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "9290:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "9263:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "9263:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "9272:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "9272:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "9259:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9259:3:84"
                        },
                        "nativeSrc": "9259:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9259:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9284:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9284:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "9255:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9255:3:84"
                    },
                    "nativeSrc": "9255:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9255:32:84"
                  },
                  "nativeSrc": "9252:52:84",
                  "nodeType": "YulIf",
                  "src": "9252:52:84"
                },
                {
                  "nativeSrc": "9313:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9313:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9340:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9340:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "9327:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "9327:12:84"
                    },
                    "nativeSrc": "9327:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9327:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "9317:6:84",
                      "nodeType": "YulTypedName",
                      "src": "9317:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "9393:16:84",
                    "nodeType": "YulBlock",
                    "src": "9393:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "9402:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9402:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "9405:1:84",
                              "nodeType": "YulLiteral",
                              "src": "9405:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "9395:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9395:6:84"
                          },
                          "nativeSrc": "9395:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "9395:12:84"
                        },
                        "nativeSrc": "9395:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "9395:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "9365:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9365:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9373:18:84",
                        "nodeType": "YulLiteral",
                        "src": "9373:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "9362:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "9362:2:84"
                    },
                    "nativeSrc": "9362:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9362:30:84"
                  },
                  "nativeSrc": "9359:50:84",
                  "nodeType": "YulIf",
                  "src": "9359:50:84"
                },
                {
                  "nativeSrc": "9418:116:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9418:116:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9506:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "9506:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "9517:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9517:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9502:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9502:3:84"
                        },
                        "nativeSrc": "9502:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9502:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "9526:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "9526:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_struct_BatchResult_calldata_dyn_calldata",
                      "nativeSrc": "9444:57:84",
                      "nodeType": "YulIdentifier",
                      "src": "9444:57:84"
                    },
                    "nativeSrc": "9444:90:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9444:90:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "9422:8:84",
                      "nodeType": "YulTypedName",
                      "src": "9422:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "9432:8:84",
                      "nodeType": "YulTypedName",
                      "src": "9432:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "9543:18:84",
                  "nodeType": "YulAssignment",
                  "src": "9543:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "9553:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "9553:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "9543:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9543:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "9570:18:84",
                  "nodeType": "YulAssignment",
                  "src": "9570:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "9580:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "9580:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "9570:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9570:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptr",
            "nativeSrc": "9137:457:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9200:9:84",
                "nodeType": "YulTypedName",
                "src": "9200:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "9211:7:84",
                "nodeType": "YulTypedName",
                "src": "9211:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "9223:6:84",
                "nodeType": "YulTypedName",
                "src": "9223:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "9231:6:84",
                "nodeType": "YulTypedName",
                "src": "9231:6:84",
                "type": ""
              }
            ],
            "src": "9137:457:84"
          },
          {
            "body": {
              "nativeSrc": "9768:631:84",
              "nodeType": "YulBlock",
              "src": "9768:631:84",
              "statements": [
                {
                  "nativeSrc": "9778:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9778:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "9788:2:84",
                    "nodeType": "YulLiteral",
                    "src": "9788:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "9782:2:84",
                      "nodeType": "YulTypedName",
                      "src": "9782:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "9799:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9799:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9817:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9817:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9828:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9828:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9813:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9813:3:84"
                    },
                    "nativeSrc": "9813:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9813:18:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "9803:6:84",
                      "nodeType": "YulTypedName",
                      "src": "9803:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9847:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9847:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9858:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9858:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9840:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9840:6:84"
                    },
                    "nativeSrc": "9840:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9840:21:84"
                  },
                  "nativeSrc": "9840:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9840:21:84"
                },
                {
                  "nativeSrc": "9870:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9870:17:84",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "9881:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "9881:6:84"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "9874:3:84",
                      "nodeType": "YulTypedName",
                      "src": "9874:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "9896:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9896:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "9916:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9916:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "9910:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "9910:5:84"
                    },
                    "nativeSrc": "9910:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9910:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "9900:6:84",
                      "nodeType": "YulTypedName",
                      "src": "9900:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "9939:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9939:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "9947:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9947:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9932:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9932:6:84"
                    },
                    "nativeSrc": "9932:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9932:22:84"
                  },
                  "nativeSrc": "9932:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9932:22:84"
                },
                {
                  "nativeSrc": "9963:25:84",
                  "nodeType": "YulAssignment",
                  "src": "9963:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9974:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9974:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9985:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9985:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9970:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9970:3:84"
                    },
                    "nativeSrc": "9970:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9970:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "9963:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9963:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "9997:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9997:53:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10019:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "10019:9:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "10034:1:84",
                                "nodeType": "YulLiteral",
                                "src": "10034:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "10037:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "10037:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "10030:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10030:3:84"
                            },
                            "nativeSrc": "10030:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "10030:14:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10015:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10015:3:84"
                        },
                        "nativeSrc": "10015:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10015:30:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10047:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10047:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10011:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10011:3:84"
                    },
                    "nativeSrc": "10011:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10011:39:84"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "10001:6:84",
                      "nodeType": "YulTypedName",
                      "src": "10001:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "10059:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "10059:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "10077:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "10077:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10085:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10085:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10073:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10073:3:84"
                    },
                    "nativeSrc": "10073:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10073:15:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "10063:6:84",
                      "nodeType": "YulTypedName",
                      "src": "10063:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "10097:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "10097:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "10106:1:84",
                    "nodeType": "YulLiteral",
                    "src": "10106:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "10101:1:84",
                      "nodeType": "YulTypedName",
                      "src": "10101:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "10165:205:84",
                    "nodeType": "YulBlock",
                    "src": "10165:205:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "10186:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10186:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "10199:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "10199:6:84"
                                    },
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "10207:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "10207:9:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "10195:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "10195:3:84"
                                  },
                                  "nativeSrc": "10195:22:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "10195:22:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "10223:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "10223:2:84",
                                      "type": "",
                                      "value": "63"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "10219:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "10219:3:84"
                                  },
                                  "nativeSrc": "10219:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "10219:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "10191:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "10191:3:84"
                              },
                              "nativeSrc": "10191:36:84",
                              "nodeType": "YulFunctionCall",
                              "src": "10191:36:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "10179:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10179:6:84"
                          },
                          "nativeSrc": "10179:49:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10179:49:84"
                        },
                        "nativeSrc": "10179:49:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "10179:49:84"
                      },
                      {
                        "nativeSrc": "10241:49:84",
                        "nodeType": "YulAssignment",
                        "src": "10241:49:84",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "10274:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "10274:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "10268:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "10268:5:84"
                              },
                              "nativeSrc": "10268:13:84",
                              "nodeType": "YulFunctionCall",
                              "src": "10268:13:84"
                            },
                            {
                              "name": "tail_2",
                              "nativeSrc": "10283:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "10283:6:84"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_bytes",
                            "nativeSrc": "10251:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "10251:16:84"
                          },
                          "nativeSrc": "10251:39:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10251:39:84"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "10241:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10241:6:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "10303:25:84",
                        "nodeType": "YulAssignment",
                        "src": "10303:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "10317:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "10317:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "10325:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "10325:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "10313:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "10313:3:84"
                          },
                          "nativeSrc": "10313:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10313:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "10303:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10303:6:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "10341:19:84",
                        "nodeType": "YulAssignment",
                        "src": "10341:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "10352:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10352:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "10357:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "10357:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "10348:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "10348:3:84"
                          },
                          "nativeSrc": "10348:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10348:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "10341:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "10341:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "10127:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "10127:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "10130:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "10130:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "10124:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "10124:2:84"
                    },
                    "nativeSrc": "10124:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10124:13:84"
                  },
                  "nativeSrc": "10116:254:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "10138:18:84",
                    "nodeType": "YulBlock",
                    "src": "10138:18:84",
                    "statements": [
                      {
                        "nativeSrc": "10140:14:84",
                        "nodeType": "YulAssignment",
                        "src": "10140:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "10149:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "10149:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "10152:1:84",
                              "nodeType": "YulLiteral",
                              "src": "10152:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "10145:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "10145:3:84"
                          },
                          "nativeSrc": "10145:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10145:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "10140:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "10140:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "10120:3:84",
                    "nodeType": "YulBlock",
                    "src": "10120:3:84",
                    "statements": []
                  },
                  "src": "10116:254:84"
                },
                {
                  "nativeSrc": "10379:14:84",
                  "nodeType": "YulAssignment",
                  "src": "10379:14:84",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "10387:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "10387:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10379:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "10379:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "9599:800:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9737:9:84",
                "nodeType": "YulTypedName",
                "src": "9737:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "9748:6:84",
                "nodeType": "YulTypedName",
                "src": "9748:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "9759:4:84",
                "nodeType": "YulTypedName",
                "src": "9759:4:84",
                "type": ""
              }
            ],
            "src": "9599:800:84"
          },
          {
            "body": {
              "nativeSrc": "10505:102:84",
              "nodeType": "YulBlock",
              "src": "10505:102:84",
              "statements": [
                {
                  "nativeSrc": "10515:26:84",
                  "nodeType": "YulAssignment",
                  "src": "10515:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10527:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10527:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10538:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10538:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10523:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10523:3:84"
                    },
                    "nativeSrc": "10523:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10523:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10515:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "10515:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10557:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10557:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "10572:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "10572:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "10588:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "10588:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "10593:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "10593:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "10584:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "10584:3:84"
                                },
                                "nativeSrc": "10584:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "10584:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "10597:1:84",
                                "nodeType": "YulLiteral",
                                "src": "10597:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "10580:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "10580:3:84"
                            },
                            "nativeSrc": "10580:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "10580:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "10568:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10568:3:84"
                        },
                        "nativeSrc": "10568:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10568:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10550:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10550:6:84"
                    },
                    "nativeSrc": "10550:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10550:51:84"
                  },
                  "nativeSrc": "10550:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10550:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
            "nativeSrc": "10404:203:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10474:9:84",
                "nodeType": "YulTypedName",
                "src": "10474:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10485:6:84",
                "nodeType": "YulTypedName",
                "src": "10485:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10496:4:84",
                "nodeType": "YulTypedName",
                "src": "10496:4:84",
                "type": ""
              }
            ],
            "src": "10404:203:84"
          },
          {
            "body": {
              "nativeSrc": "10713:76:84",
              "nodeType": "YulBlock",
              "src": "10713:76:84",
              "statements": [
                {
                  "nativeSrc": "10723:26:84",
                  "nodeType": "YulAssignment",
                  "src": "10723:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10735:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10735:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10746:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10746:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10731:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10731:3:84"
                    },
                    "nativeSrc": "10731:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10731:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10723:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "10723:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10765:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10765:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "10776:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "10776:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10758:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10758:6:84"
                    },
                    "nativeSrc": "10758:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10758:25:84"
                  },
                  "nativeSrc": "10758:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10758:25:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed",
            "nativeSrc": "10612:177:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10682:9:84",
                "nodeType": "YulTypedName",
                "src": "10682:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10693:6:84",
                "nodeType": "YulTypedName",
                "src": "10693:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10704:4:84",
                "nodeType": "YulTypedName",
                "src": "10704:4:84",
                "type": ""
              }
            ],
            "src": "10612:177:84"
          },
          {
            "body": {
              "nativeSrc": "10915:98:84",
              "nodeType": "YulBlock",
              "src": "10915:98:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10932:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10932:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10943:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10943:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10925:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10925:6:84"
                    },
                    "nativeSrc": "10925:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10925:21:84"
                  },
                  "nativeSrc": "10925:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10925:21:84"
                },
                {
                  "nativeSrc": "10955:52:84",
                  "nodeType": "YulAssignment",
                  "src": "10955:52:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "10980:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "10980:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10992:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "10992:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11003:2:84",
                            "nodeType": "YulLiteral",
                            "src": "11003:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10988:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10988:3:84"
                        },
                        "nativeSrc": "10988:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10988:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "10963:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "10963:16:84"
                    },
                    "nativeSrc": "10963:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10963:44:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10955:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "10955:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "10794:219:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10884:9:84",
                "nodeType": "YulTypedName",
                "src": "10884:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10895:6:84",
                "nodeType": "YulTypedName",
                "src": "10895:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10906:4:84",
                "nodeType": "YulTypedName",
                "src": "10906:4:84",
                "type": ""
              }
            ],
            "src": "10794:219:84"
          },
          {
            "body": {
              "nativeSrc": "11071:89:84",
              "nodeType": "YulBlock",
              "src": "11071:89:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "11105:22:84",
                    "nodeType": "YulBlock",
                    "src": "11105:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "11107:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "11107:16:84"
                          },
                          "nativeSrc": "11107:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11107:18:84"
                        },
                        "nativeSrc": "11107:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "11107:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "11094:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "11094:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11101:1:84",
                            "nodeType": "YulLiteral",
                            "src": "11101:1:84",
                            "type": "",
                            "value": "4"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "11091:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "11091:2:84"
                        },
                        "nativeSrc": "11091:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11091:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "11084:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11084:6:84"
                    },
                    "nativeSrc": "11084:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11084:20:84"
                  },
                  "nativeSrc": "11081:46:84",
                  "nodeType": "YulIf",
                  "src": "11081:46:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "11143:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "11143:3:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "11148:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "11148:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11136:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11136:6:84"
                    },
                    "nativeSrc": "11136:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11136:18:84"
                  },
                  "nativeSrc": "11136:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11136:18:84"
                }
              ]
            },
            "name": "abi_encode_enum_QueryStatus",
            "nativeSrc": "11018:142:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "11055:5:84",
                "nodeType": "YulTypedName",
                "src": "11055:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "11062:3:84",
                "nodeType": "YulTypedName",
                "src": "11062:3:84",
                "type": ""
              }
            ],
            "src": "11018:142:84"
          },
          {
            "body": {
              "nativeSrc": "11331:502:84",
              "nodeType": "YulBlock",
              "src": "11331:502:84",
              "statements": [
                {
                  "nativeSrc": "11341:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11341:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "11351:2:84",
                    "nodeType": "YulLiteral",
                    "src": "11351:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "11345:2:84",
                      "nodeType": "YulTypedName",
                      "src": "11345:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11362:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11362:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11380:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "11380:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11391:2:84",
                        "nodeType": "YulLiteral",
                        "src": "11391:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11376:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11376:3:84"
                    },
                    "nativeSrc": "11376:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11376:18:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "11366:6:84",
                      "nodeType": "YulTypedName",
                      "src": "11366:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11410:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "11410:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11421:2:84",
                        "nodeType": "YulLiteral",
                        "src": "11421:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11403:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11403:6:84"
                    },
                    "nativeSrc": "11403:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11403:21:84"
                  },
                  "nativeSrc": "11403:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11403:21:84"
                },
                {
                  "nativeSrc": "11433:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11433:17:84",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "11444:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "11444:6:84"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "11437:3:84",
                      "nodeType": "YulTypedName",
                      "src": "11437:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11459:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11459:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "11479:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11479:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "11473:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "11473:5:84"
                    },
                    "nativeSrc": "11473:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11473:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "11463:6:84",
                      "nodeType": "YulTypedName",
                      "src": "11463:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "11502:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11502:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "11510:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11510:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11495:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11495:6:84"
                    },
                    "nativeSrc": "11495:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11495:22:84"
                  },
                  "nativeSrc": "11495:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11495:22:84"
                },
                {
                  "nativeSrc": "11526:25:84",
                  "nodeType": "YulAssignment",
                  "src": "11526:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11537:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "11537:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11548:2:84",
                        "nodeType": "YulLiteral",
                        "src": "11548:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11533:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11533:3:84"
                    },
                    "nativeSrc": "11533:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11533:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "11526:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11526:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "11560:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11560:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "11578:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11578:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11586:2:84",
                        "nodeType": "YulLiteral",
                        "src": "11586:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11574:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11574:3:84"
                    },
                    "nativeSrc": "11574:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11574:15:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "11564:6:84",
                      "nodeType": "YulTypedName",
                      "src": "11564:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11598:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11598:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "11607:1:84",
                    "nodeType": "YulLiteral",
                    "src": "11607:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "11602:1:84",
                      "nodeType": "YulTypedName",
                      "src": "11602:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "11666:141:84",
                    "nodeType": "YulBlock",
                    "src": "11666:141:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "11714:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "11714:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "11708:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "11708:5:84"
                              },
                              "nativeSrc": "11708:13:84",
                              "nodeType": "YulFunctionCall",
                              "src": "11708:13:84"
                            },
                            {
                              "name": "pos",
                              "nativeSrc": "11723:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "11723:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_enum_QueryStatus",
                            "nativeSrc": "11680:27:84",
                            "nodeType": "YulIdentifier",
                            "src": "11680:27:84"
                          },
                          "nativeSrc": "11680:47:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11680:47:84"
                        },
                        "nativeSrc": "11680:47:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "11680:47:84"
                      },
                      {
                        "nativeSrc": "11740:19:84",
                        "nodeType": "YulAssignment",
                        "src": "11740:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "11751:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "11751:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "11756:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "11756:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "11747:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11747:3:84"
                          },
                          "nativeSrc": "11747:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11747:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "11740:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11740:3:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "11772:25:84",
                        "nodeType": "YulAssignment",
                        "src": "11772:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "11786:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "11786:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "11794:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "11794:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "11782:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11782:3:84"
                          },
                          "nativeSrc": "11782:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11782:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "11772:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "11772:6:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "11628:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "11628:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "11631:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11631:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "11625:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "11625:2:84"
                    },
                    "nativeSrc": "11625:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11625:13:84"
                  },
                  "nativeSrc": "11617:190:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "11639:18:84",
                    "nodeType": "YulBlock",
                    "src": "11639:18:84",
                    "statements": [
                      {
                        "nativeSrc": "11641:14:84",
                        "nodeType": "YulAssignment",
                        "src": "11641:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "11650:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "11650:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11653:1:84",
                              "nodeType": "YulLiteral",
                              "src": "11653:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "11646:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11646:3:84"
                          },
                          "nativeSrc": "11646:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11646:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "11641:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "11641:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "11621:3:84",
                    "nodeType": "YulBlock",
                    "src": "11621:3:84",
                    "statements": []
                  },
                  "src": "11617:190:84"
                },
                {
                  "nativeSrc": "11816:11:84",
                  "nodeType": "YulAssignment",
                  "src": "11816:11:84",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "11824:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "11824:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "11816:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "11816:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_enum$_QueryStatus_$23461_$dyn_memory_ptr__to_t_array$_t_uint8_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "11165:668:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "11300:9:84",
                "nodeType": "YulTypedName",
                "src": "11300:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "11311:6:84",
                "nodeType": "YulTypedName",
                "src": "11311:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "11322:4:84",
                "nodeType": "YulTypedName",
                "src": "11322:4:84",
                "type": ""
              }
            ],
            "src": "11165:668:84"
          },
          {
            "body": {
              "nativeSrc": "11910:275:84",
              "nodeType": "YulBlock",
              "src": "11910:275:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "11959:16:84",
                    "nodeType": "YulBlock",
                    "src": "11959:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "11968:1:84",
                              "nodeType": "YulLiteral",
                              "src": "11968:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11971:1:84",
                              "nodeType": "YulLiteral",
                              "src": "11971:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "11961:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "11961:6:84"
                          },
                          "nativeSrc": "11961:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "11961:12:84"
                        },
                        "nativeSrc": "11961:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "11961:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "11938:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "11938:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "11946:4:84",
                                "nodeType": "YulLiteral",
                                "src": "11946:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "11934:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "11934:3:84"
                            },
                            "nativeSrc": "11934:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "11934:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "11953:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11953:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "11930:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11930:3:84"
                        },
                        "nativeSrc": "11930:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11930:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "11923:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11923:6:84"
                    },
                    "nativeSrc": "11923:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11923:35:84"
                  },
                  "nativeSrc": "11920:55:84",
                  "nodeType": "YulIf",
                  "src": "11920:55:84"
                },
                {
                  "nativeSrc": "11984:30:84",
                  "nodeType": "YulAssignment",
                  "src": "11984:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "12007:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12007:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "11994:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "11994:12:84"
                    },
                    "nativeSrc": "11994:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11994:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "11984:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11984:6:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12057:16:84",
                    "nodeType": "YulBlock",
                    "src": "12057:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12066:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12066:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12069:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12069:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12059:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12059:6:84"
                          },
                          "nativeSrc": "12059:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12059:12:84"
                        },
                        "nativeSrc": "12059:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12059:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "12029:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12029:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12037:18:84",
                        "nodeType": "YulLiteral",
                        "src": "12037:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "12026:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "12026:2:84"
                    },
                    "nativeSrc": "12026:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12026:30:84"
                  },
                  "nativeSrc": "12023:50:84",
                  "nodeType": "YulIf",
                  "src": "12023:50:84"
                },
                {
                  "nativeSrc": "12082:29:84",
                  "nodeType": "YulAssignment",
                  "src": "12082:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "12098:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12098:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12106:4:84",
                        "nodeType": "YulLiteral",
                        "src": "12106:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12094:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "12094:3:84"
                    },
                    "nativeSrc": "12094:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12094:17:84"
                  },
                  "variableNames": [
                    {
                      "name": "arrayPos",
                      "nativeSrc": "12082:8:84",
                      "nodeType": "YulIdentifier",
                      "src": "12082:8:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12163:16:84",
                    "nodeType": "YulBlock",
                    "src": "12163:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12172:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12172:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12175:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12175:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12165:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12165:6:84"
                          },
                          "nativeSrc": "12165:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12165:12:84"
                        },
                        "nativeSrc": "12165:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12165:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "12134:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "12134:6:84"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "12142:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "12142:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "12130:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "12130:3:84"
                            },
                            "nativeSrc": "12130:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "12130:19:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12151:4:84",
                            "nodeType": "YulLiteral",
                            "src": "12151:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12126:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12126:3:84"
                        },
                        "nativeSrc": "12126:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12126:30:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "12158:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "12158:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "12123:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "12123:2:84"
                    },
                    "nativeSrc": "12123:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12123:39:84"
                  },
                  "nativeSrc": "12120:59:84",
                  "nodeType": "YulIf",
                  "src": "12120:59:84"
                }
              ]
            },
            "name": "abi_decode_bytes_calldata",
            "nativeSrc": "11838:347:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "11873:6:84",
                "nodeType": "YulTypedName",
                "src": "11873:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "11881:3:84",
                "nodeType": "YulTypedName",
                "src": "11881:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "arrayPos",
                "nativeSrc": "11889:8:84",
                "nodeType": "YulTypedName",
                "src": "11889:8:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "11899:6:84",
                "nodeType": "YulTypedName",
                "src": "11899:6:84",
                "type": ""
              }
            ],
            "src": "11838:347:84"
          },
          {
            "body": {
              "nativeSrc": "12313:422:84",
              "nodeType": "YulBlock",
              "src": "12313:422:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "12359:16:84",
                    "nodeType": "YulBlock",
                    "src": "12359:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12368:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12368:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12371:1:84",
                              "nodeType": "YulLiteral",
                              "src": "12371:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12361:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12361:6:84"
                          },
                          "nativeSrc": "12361:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "12361:12:84"
                        },
                        "nativeSrc": "12361:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "12361:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "12334:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "12334:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "12343:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12343:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "12330:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12330:3:84"
                        },
                        "nativeSrc": "12330:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12330:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12355:2:84",
                        "nodeType": "YulLiteral",
                        "src": "12355:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "12326:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "12326:3:84"
                    },
                    "nativeSrc": "12326:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12326:32:84"
                  },
                  "nativeSrc": "12323:52:84",
                  "nodeType": "YulIf",
                  "src": "12323:52:84"
                },
                {
                  "nativeSrc": "12384:33:84",
                  "nodeType": "YulAssignment",
                  "src": "12384:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12407:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "12407:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12394:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "12394:12:84"
                    },
                    "nativeSrc": "12394:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12394:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "12384:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12384:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "12426:42:84",
                  "nodeType": "YulAssignment",
                  "src": "12426:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12453:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12453:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12464:2:84",
                            "nodeType": "YulLiteral",
                            "src": "12464:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12449:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12449:3:84"
                        },
                        "nativeSrc": "12449:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12449:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12436:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "12436:12:84"
                    },
                    "nativeSrc": "12436:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12436:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "12426:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12426:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "12477:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12477:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12508:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12508:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12519:2:84",
                            "nodeType": "YulLiteral",
                            "src": "12519:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12504:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12504:3:84"
                        },
                        "nativeSrc": "12504:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12504:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12491:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "12491:12:84"
                    },
                    "nativeSrc": "12491:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12491:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "12481:6:84",
                      "nodeType": "YulTypedName",
                      "src": "12481:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "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": [
                      {
                        "name": "offset",
                        "nativeSrc": "12538:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12538:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12546:18:84",
                        "nodeType": "YulLiteral",
                        "src": "12546:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "12535:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "12535:2:84"
                    },
                    "nativeSrc": "12535:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12535:30:84"
                  },
                  "nativeSrc": "12532:50:84",
                  "nodeType": "YulIf",
                  "src": "12532:50:84"
                },
                {
                  "nativeSrc": "12591:84:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12591:84:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12647:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "12647:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "12658:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12658:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12643:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12643:3:84"
                        },
                        "nativeSrc": "12643:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12643:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "12667:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "12667:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "12617:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "12617:25:84"
                    },
                    "nativeSrc": "12617:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12617:58:84"
                  },
                  "variables": [
                    {
                      "name": "value2_1",
                      "nativeSrc": "12595:8:84",
                      "nodeType": "YulTypedName",
                      "src": "12595:8:84",
                      "type": ""
                    },
                    {
                      "name": "value3_1",
                      "nativeSrc": "12605:8:84",
                      "nodeType": "YulTypedName",
                      "src": "12605:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "12684:18:84",
                  "nodeType": "YulAssignment",
                  "src": "12684:18:84",
                  "value": {
                    "name": "value2_1",
                    "nativeSrc": "12694:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "12694:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "12684:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12684:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "12711:18:84",
                  "nodeType": "YulAssignment",
                  "src": "12711:18:84",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "12721:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "12721:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "12711:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12711:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_bytes32t_bytes_calldata_ptr",
            "nativeSrc": "12190:545:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "12255:9:84",
                "nodeType": "YulTypedName",
                "src": "12255:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "12266:7:84",
                "nodeType": "YulTypedName",
                "src": "12266:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "12278:6:84",
                "nodeType": "YulTypedName",
                "src": "12278:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "12286:6:84",
                "nodeType": "YulTypedName",
                "src": "12286:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "12294:6:84",
                "nodeType": "YulTypedName",
                "src": "12294:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "12302:6:84",
                "nodeType": "YulTypedName",
                "src": "12302:6:84",
                "type": ""
              }
            ],
            "src": "12190:545:84"
          },
          {
            "body": {
              "nativeSrc": "12856:97:84",
              "nodeType": "YulBlock",
              "src": "12856:97:84",
              "statements": [
                {
                  "nativeSrc": "12866:26:84",
                  "nodeType": "YulAssignment",
                  "src": "12866:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12878:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "12878:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12889:2:84",
                        "nodeType": "YulLiteral",
                        "src": "12889:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12874:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "12874:3:84"
                    },
                    "nativeSrc": "12874:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12874:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "12866:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "12866:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "12929:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12929:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "12937:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "12937:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_QueryStatus",
                      "nativeSrc": "12901:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "12901:27:84"
                    },
                    "nativeSrc": "12901:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12901:46:84"
                  },
                  "nativeSrc": "12901:46:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "12901:46:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_QueryStatus_$23461__to_t_uint8__fromStack_reversed",
            "nativeSrc": "12740:213:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "12825:9:84",
                "nodeType": "YulTypedName",
                "src": "12825:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "12836:6:84",
                "nodeType": "YulTypedName",
                "src": "12836:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "12847:4:84",
                "nodeType": "YulTypedName",
                "src": "12847:4:84",
                "type": ""
              }
            ],
            "src": "12740:213:84"
          },
          {
            "body": {
              "nativeSrc": "13089:102:84",
              "nodeType": "YulBlock",
              "src": "13089:102:84",
              "statements": [
                {
                  "nativeSrc": "13099:26:84",
                  "nodeType": "YulAssignment",
                  "src": "13099:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13111:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13111:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13122:2:84",
                        "nodeType": "YulLiteral",
                        "src": "13122:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13107:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13107:3:84"
                    },
                    "nativeSrc": "13107:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13107:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "13099:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "13099:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13141:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13141:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "13156:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13156:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "13172:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "13172:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "13177:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "13177:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "13168:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "13168:3:84"
                                },
                                "nativeSrc": "13168:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "13168:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "13181:1:84",
                                "nodeType": "YulLiteral",
                                "src": "13181:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "13164:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "13164:3:84"
                            },
                            "nativeSrc": "13164:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "13164:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "13152:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13152:3:84"
                        },
                        "nativeSrc": "13152:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13152:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "13134:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13134:6:84"
                    },
                    "nativeSrc": "13134:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13134:51:84"
                  },
                  "nativeSrc": "13134:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "13134:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_WitnetRequestBytecodes_$849__to_t_address__fromStack_reversed",
            "nativeSrc": "12958:233:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13058:9:84",
                "nodeType": "YulTypedName",
                "src": "13058:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "13069:6:84",
                "nodeType": "YulTypedName",
                "src": "13069:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "13080:4:84",
                "nodeType": "YulTypedName",
                "src": "13080:4:84",
                "type": ""
              }
            ],
            "src": "12958:233:84"
          },
          {
            "body": {
              "nativeSrc": "13295:103:84",
              "nodeType": "YulBlock",
              "src": "13295:103:84",
              "statements": [
                {
                  "nativeSrc": "13305:26:84",
                  "nodeType": "YulAssignment",
                  "src": "13305:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13317:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13317:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13328:2:84",
                        "nodeType": "YulLiteral",
                        "src": "13328:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13313:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13313:3:84"
                    },
                    "nativeSrc": "13313:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13313:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "13305:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "13305:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13347:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13347:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "13362:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13362:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "13374:3:84",
                                "nodeType": "YulLiteral",
                                "src": "13374:3:84",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "13379:10:84",
                                "nodeType": "YulLiteral",
                                "src": "13379:10:84",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "13370:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "13370:3:84"
                            },
                            "nativeSrc": "13370:20:84",
                            "nodeType": "YulFunctionCall",
                            "src": "13370:20:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "13358:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13358:3:84"
                        },
                        "nativeSrc": "13358:33:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13358:33:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "13340:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13340:6:84"
                    },
                    "nativeSrc": "13340:52:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13340:52:84"
                  },
                  "nativeSrc": "13340:52:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "13340:52:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed",
            "nativeSrc": "13196:202:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13264:9:84",
                "nodeType": "YulTypedName",
                "src": "13264:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "13275:6:84",
                "nodeType": "YulTypedName",
                "src": "13275:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "13286:4:84",
                "nodeType": "YulTypedName",
                "src": "13286:4:84",
                "type": ""
              }
            ],
            "src": "13196:202:84"
          },
          {
            "body": {
              "nativeSrc": "13447:73:84",
              "nodeType": "YulBlock",
              "src": "13447:73:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "13498:16:84",
                    "nodeType": "YulBlock",
                    "src": "13498:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13507:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13507:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13510:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13510:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13500:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13500:6:84"
                          },
                          "nativeSrc": "13500:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "13500:12:84"
                        },
                        "nativeSrc": "13500:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "13500:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "13470:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "13470:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "13481:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "13481:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "13488:6:84",
                                "nodeType": "YulLiteral",
                                "src": "13488:6:84",
                                "type": "",
                                "value": "0xffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "13477:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "13477:3:84"
                            },
                            "nativeSrc": "13477:18:84",
                            "nodeType": "YulFunctionCall",
                            "src": "13477:18:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "13467:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "13467:2:84"
                        },
                        "nativeSrc": "13467:29:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13467:29:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "13460:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13460:6:84"
                    },
                    "nativeSrc": "13460:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13460:37:84"
                  },
                  "nativeSrc": "13457:57:84",
                  "nodeType": "YulIf",
                  "src": "13457:57:84"
                }
              ]
            },
            "name": "validator_revert_uint16",
            "nativeSrc": "13403:117:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "13436:5:84",
                "nodeType": "YulTypedName",
                "src": "13436:5:84",
                "type": ""
              }
            ],
            "src": "13403:117:84"
          },
          {
            "body": {
              "nativeSrc": "13611:227:84",
              "nodeType": "YulBlock",
              "src": "13611:227:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "13657:16:84",
                    "nodeType": "YulBlock",
                    "src": "13657:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13666:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13666:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13669:1:84",
                              "nodeType": "YulLiteral",
                              "src": "13669:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13659:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13659:6:84"
                          },
                          "nativeSrc": "13659:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "13659:12:84"
                        },
                        "nativeSrc": "13659:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "13659:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "13632:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "13632:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "13641:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "13641:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "13628:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13628:3:84"
                        },
                        "nativeSrc": "13628:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13628:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13653:2:84",
                        "nodeType": "YulLiteral",
                        "src": "13653:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "13624:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13624:3:84"
                    },
                    "nativeSrc": "13624:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13624:32:84"
                  },
                  "nativeSrc": "13621:52:84",
                  "nodeType": "YulIf",
                  "src": "13621:52:84"
                },
                {
                  "nativeSrc": "13682:33:84",
                  "nodeType": "YulAssignment",
                  "src": "13682:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13705:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13705:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "13692:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "13692:12:84"
                    },
                    "nativeSrc": "13692:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13692:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "13682:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13682:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "13724:45:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13724:45:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "13754:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "13754:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "13765:2:84",
                            "nodeType": "YulLiteral",
                            "src": "13765:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13750:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13750:3:84"
                        },
                        "nativeSrc": "13750:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13750:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "13737:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "13737:12:84"
                    },
                    "nativeSrc": "13737:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13737:32:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "13728:5:84",
                      "nodeType": "YulTypedName",
                      "src": "13728:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "13802:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "13802:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "13778:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "13778:23:84"
                    },
                    "nativeSrc": "13778:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13778:30:84"
                  },
                  "nativeSrc": "13778:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "13778:30:84"
                },
                {
                  "nativeSrc": "13817:15:84",
                  "nodeType": "YulAssignment",
                  "src": "13817:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "13827:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "13827:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "13817:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13817:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_uint16",
            "nativeSrc": "13525:313:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13569:9:84",
                "nodeType": "YulTypedName",
                "src": "13569:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "13580:7:84",
                "nodeType": "YulTypedName",
                "src": "13580:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "13592:6:84",
                "nodeType": "YulTypedName",
                "src": "13592:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "13600:6:84",
                "nodeType": "YulTypedName",
                "src": "13600:6:84",
                "type": ""
              }
            ],
            "src": "13525:313:84"
          },
          {
            "body": {
              "nativeSrc": "13962:98:84",
              "nodeType": "YulBlock",
              "src": "13962:98:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13979:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "13979:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13990:2:84",
                        "nodeType": "YulLiteral",
                        "src": "13990:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "13972:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13972:6:84"
                    },
                    "nativeSrc": "13972:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13972:21:84"
                  },
                  "nativeSrc": "13972:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "13972:21:84"
                },
                {
                  "nativeSrc": "14002:52:84",
                  "nodeType": "YulAssignment",
                  "src": "14002:52:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "14027:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "14027:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14039:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14039:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14050:2:84",
                            "nodeType": "YulLiteral",
                            "src": "14050:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14035:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14035:3:84"
                        },
                        "nativeSrc": "14035:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14035:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "14010:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "14010:16:84"
                    },
                    "nativeSrc": "14010:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14010:44:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "14002:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "14002:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed",
            "nativeSrc": "13843:217:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13931:9:84",
                "nodeType": "YulTypedName",
                "src": "13931:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "13942:6:84",
                "nodeType": "YulTypedName",
                "src": "13942:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "13953:4:84",
                "nodeType": "YulTypedName",
                "src": "13953:4:84",
                "type": ""
              }
            ],
            "src": "13843:217:84"
          },
          {
            "body": {
              "nativeSrc": "14240:727:84",
              "nodeType": "YulBlock",
              "src": "14240:727:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "14287:16:84",
                    "nodeType": "YulBlock",
                    "src": "14287:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14296:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14296:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14299:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14299:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14289:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14289:6:84"
                          },
                          "nativeSrc": "14289:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14289:12:84"
                        },
                        "nativeSrc": "14289:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14289:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "14261:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "14261:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "14270:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14270:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "14257:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14257:3:84"
                        },
                        "nativeSrc": "14257:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14257:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14282:3:84",
                        "nodeType": "YulLiteral",
                        "src": "14282:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "14253:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14253:3:84"
                    },
                    "nativeSrc": "14253:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14253:33:84"
                  },
                  "nativeSrc": "14250:53:84",
                  "nodeType": "YulIf",
                  "src": "14250:53:84"
                },
                {
                  "nativeSrc": "14312:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14312:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "14339:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "14339:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14326:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "14326:12:84"
                    },
                    "nativeSrc": "14326:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14326:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "14316:6:84",
                      "nodeType": "YulTypedName",
                      "src": "14316:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14358:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14358:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "14368:18:84",
                    "nodeType": "YulLiteral",
                    "src": "14368:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "14362:2:84",
                      "nodeType": "YulTypedName",
                      "src": "14362:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14413:16:84",
                    "nodeType": "YulBlock",
                    "src": "14413:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14422:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14422:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14425:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14425:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14415:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14415:6:84"
                          },
                          "nativeSrc": "14415:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14415:12:84"
                        },
                        "nativeSrc": "14415:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14415:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "14401:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "14401:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "14409:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "14409:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "14398:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "14398:2:84"
                    },
                    "nativeSrc": "14398:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14398:14:84"
                  },
                  "nativeSrc": "14395:34:84",
                  "nodeType": "YulIf",
                  "src": "14395:34:84"
                },
                {
                  "nativeSrc": "14438:116:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14438:116:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14526:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14526:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "14537:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14537:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14522:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14522:3:84"
                        },
                        "nativeSrc": "14522:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14522:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "14546:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "14546:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_array_struct_BatchResult_calldata_dyn_calldata",
                      "nativeSrc": "14464:57:84",
                      "nodeType": "YulIdentifier",
                      "src": "14464:57:84"
                    },
                    "nativeSrc": "14464:90:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14464:90:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "14442:8:84",
                      "nodeType": "YulTypedName",
                      "src": "14442:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "14452:8:84",
                      "nodeType": "YulTypedName",
                      "src": "14452:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14563:18:84",
                  "nodeType": "YulAssignment",
                  "src": "14563:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "14573:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "14573:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "14563:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14563:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "14590:18:84",
                  "nodeType": "YulAssignment",
                  "src": "14590:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "14600:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "14600:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "14590:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14590:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "14617:48:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14617:48:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14650:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14650:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14661:2:84",
                            "nodeType": "YulLiteral",
                            "src": "14661:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14646:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14646:3:84"
                        },
                        "nativeSrc": "14646:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14646:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14633:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "14633:12:84"
                    },
                    "nativeSrc": "14633:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14633:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "14621:8:84",
                      "nodeType": "YulTypedName",
                      "src": "14621:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14694:16:84",
                    "nodeType": "YulBlock",
                    "src": "14694:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14703:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14703:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14706:1:84",
                              "nodeType": "YulLiteral",
                              "src": "14706:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14696:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "14696:6:84"
                          },
                          "nativeSrc": "14696:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14696:12:84"
                        },
                        "nativeSrc": "14696:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14696:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "14680:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "14680:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "14690:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "14690:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "14677:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "14677:2:84"
                    },
                    "nativeSrc": "14677:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14677:16:84"
                  },
                  "nativeSrc": "14674:36:84",
                  "nodeType": "YulIf",
                  "src": "14674:36:84"
                },
                {
                  "nativeSrc": "14719:86:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14719:86:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14775:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14775:9:84"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "14786:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "14786:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14771:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14771:3:84"
                        },
                        "nativeSrc": "14771:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14771:24:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "14797:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "14797:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "14745:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "14745:25:84"
                    },
                    "nativeSrc": "14745:60:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14745:60:84"
                  },
                  "variables": [
                    {
                      "name": "value2_1",
                      "nativeSrc": "14723:8:84",
                      "nodeType": "YulTypedName",
                      "src": "14723:8:84",
                      "type": ""
                    },
                    {
                      "name": "value3_1",
                      "nativeSrc": "14733:8:84",
                      "nodeType": "YulTypedName",
                      "src": "14733:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14814:18:84",
                  "nodeType": "YulAssignment",
                  "src": "14814:18:84",
                  "value": {
                    "name": "value2_1",
                    "nativeSrc": "14824:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "14824:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "14814:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14814:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "14841:18:84",
                  "nodeType": "YulAssignment",
                  "src": "14841:18:84",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "14851:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "14851:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "14841:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14841:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "14868:42:84",
                  "nodeType": "YulAssignment",
                  "src": "14868:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14895:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14895:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14906:2:84",
                            "nodeType": "YulLiteral",
                            "src": "14906:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14891:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14891:3:84"
                        },
                        "nativeSrc": "14891:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14891:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14878:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "14878:12:84"
                    },
                    "nativeSrc": "14878:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14878:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "14868:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14868:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "14919:42:84",
                  "nodeType": "YulAssignment",
                  "src": "14919:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14946:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14946:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14957:2:84",
                            "nodeType": "YulLiteral",
                            "src": "14957:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14942:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14942:3:84"
                        },
                        "nativeSrc": "14942:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14942:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14929:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "14929:12:84"
                    },
                    "nativeSrc": "14929:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14929:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value5",
                      "nativeSrc": "14919:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14919:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptrt_bytes_calldata_ptrt_uint256t_uint256",
            "nativeSrc": "14065:902:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "14166:9:84",
                "nodeType": "YulTypedName",
                "src": "14166:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "14177:7:84",
                "nodeType": "YulTypedName",
                "src": "14177:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "14189:6:84",
                "nodeType": "YulTypedName",
                "src": "14189:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "14197:6:84",
                "nodeType": "YulTypedName",
                "src": "14197:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "14205:6:84",
                "nodeType": "YulTypedName",
                "src": "14205:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "14213:6:84",
                "nodeType": "YulTypedName",
                "src": "14213:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "14221:6:84",
                "nodeType": "YulTypedName",
                "src": "14221:6:84",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "14229:6:84",
                "nodeType": "YulTypedName",
                "src": "14229:6:84",
                "type": ""
              }
            ],
            "src": "14065:902:84"
          },
          {
            "body": {
              "nativeSrc": "15101:119:84",
              "nodeType": "YulBlock",
              "src": "15101:119:84",
              "statements": [
                {
                  "nativeSrc": "15111:26:84",
                  "nodeType": "YulAssignment",
                  "src": "15111:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15123:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "15123:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15134:2:84",
                        "nodeType": "YulLiteral",
                        "src": "15134:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "15119:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "15119:3:84"
                    },
                    "nativeSrc": "15119:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15119:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "15111:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "15111:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15153:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "15153:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "15164:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "15164:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "15146:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15146:6:84"
                    },
                    "nativeSrc": "15146:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15146:25:84"
                  },
                  "nativeSrc": "15146:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "15146:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15191:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15191:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15202:2:84",
                            "nodeType": "YulLiteral",
                            "src": "15202:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15187:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15187:3:84"
                        },
                        "nativeSrc": "15187:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15187:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "15207:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "15207:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "15180:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15180:6:84"
                    },
                    "nativeSrc": "15180:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15180:34:84"
                  },
                  "nativeSrc": "15180:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "15180:34:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "14972:248:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15062:9:84",
                "nodeType": "YulTypedName",
                "src": "15062:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "15073:6:84",
                "nodeType": "YulTypedName",
                "src": "15073:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "15081:6:84",
                "nodeType": "YulTypedName",
                "src": "15081:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "15092:4:84",
                "nodeType": "YulTypedName",
                "src": "15092:4:84",
                "type": ""
              }
            ],
            "src": "14972:248:84"
          },
          {
            "body": {
              "nativeSrc": "15312:161:84",
              "nodeType": "YulBlock",
              "src": "15312:161:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "15358:16:84",
                    "nodeType": "YulBlock",
                    "src": "15358:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15367:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15367:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15370:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15370:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15360:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15360:6:84"
                          },
                          "nativeSrc": "15360:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15360:12:84"
                        },
                        "nativeSrc": "15360:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "15360:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "15333:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "15333:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "15342:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15342:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "15329:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15329:3:84"
                        },
                        "nativeSrc": "15329:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15329:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15354:2:84",
                        "nodeType": "YulLiteral",
                        "src": "15354:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "15325:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "15325:3:84"
                    },
                    "nativeSrc": "15325:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15325:32:84"
                  },
                  "nativeSrc": "15322:52:84",
                  "nodeType": "YulIf",
                  "src": "15322:52:84"
                },
                {
                  "nativeSrc": "15383:33:84",
                  "nodeType": "YulAssignment",
                  "src": "15383:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15406:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "15406:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15393:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "15393:12:84"
                    },
                    "nativeSrc": "15393:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15393:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "15383:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15383:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "15425:42:84",
                  "nodeType": "YulAssignment",
                  "src": "15425:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15452:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15452:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15463:2:84",
                            "nodeType": "YulLiteral",
                            "src": "15463:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15448:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15448:3:84"
                        },
                        "nativeSrc": "15448:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15448:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15435:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "15435:12:84"
                    },
                    "nativeSrc": "15435:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15435:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "15425:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15425:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_bytes32",
            "nativeSrc": "15225:248:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15270:9:84",
                "nodeType": "YulTypedName",
                "src": "15270:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "15281:7:84",
                "nodeType": "YulTypedName",
                "src": "15281:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "15293:6:84",
                "nodeType": "YulTypedName",
                "src": "15293:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "15301:6:84",
                "nodeType": "YulTypedName",
                "src": "15301:6:84",
                "type": ""
              }
            ],
            "src": "15225:248:84"
          },
          {
            "body": {
              "nativeSrc": "15629:460:84",
              "nodeType": "YulBlock",
              "src": "15629:460:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "15676:16:84",
                    "nodeType": "YulBlock",
                    "src": "15676:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15685:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15685:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15688:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15688:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15678:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15678:6:84"
                          },
                          "nativeSrc": "15678:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15678:12:84"
                        },
                        "nativeSrc": "15678:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "15678:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "15650:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "15650:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "15659:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15659:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "15646:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15646:3:84"
                        },
                        "nativeSrc": "15646:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15646:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15671:3:84",
                        "nodeType": "YulLiteral",
                        "src": "15671:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "15642:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "15642:3:84"
                    },
                    "nativeSrc": "15642:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15642:33:84"
                  },
                  "nativeSrc": "15639:53:84",
                  "nodeType": "YulIf",
                  "src": "15639:53:84"
                },
                {
                  "nativeSrc": "15701:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15701:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15728:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "15728:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15715:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "15715:12:84"
                    },
                    "nativeSrc": "15715:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15715:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "15705:6:84",
                      "nodeType": "YulTypedName",
                      "src": "15705:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "15781:16:84",
                    "nodeType": "YulBlock",
                    "src": "15781:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15790:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15790:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15793:1:84",
                              "nodeType": "YulLiteral",
                              "src": "15793:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15783:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15783:6:84"
                          },
                          "nativeSrc": "15783:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15783:12:84"
                        },
                        "nativeSrc": "15783:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "15783:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "15753:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "15753:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15761:18:84",
                        "nodeType": "YulLiteral",
                        "src": "15761:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "15750:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "15750:2:84"
                    },
                    "nativeSrc": "15750:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15750:30:84"
                  },
                  "nativeSrc": "15747:50:84",
                  "nodeType": "YulIf",
                  "src": "15747:50:84"
                },
                {
                  "nativeSrc": "15806:84:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15806:84:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "15862:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "15862:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "15873:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15873:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15858:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15858:3:84"
                        },
                        "nativeSrc": "15858:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15858:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "15882:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "15882:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "15832:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "15832:25:84"
                    },
                    "nativeSrc": "15832:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15832:58:84"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "15810:8:84",
                      "nodeType": "YulTypedName",
                      "src": "15810:8:84",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "15820:8:84",
                      "nodeType": "YulTypedName",
                      "src": "15820:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "15899:18:84",
                  "nodeType": "YulAssignment",
                  "src": "15899:18:84",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "15909:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "15909:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "15899:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15899:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "15926:18:84",
                  "nodeType": "YulAssignment",
                  "src": "15926:18:84",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "15936:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "15936:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "15926:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15926:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "15953:74:84",
                  "nodeType": "YulAssignment",
                  "src": "15953:74:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16003:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16003:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16014:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16014:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15999:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15999:3:84"
                        },
                        "nativeSrc": "15999:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15999:18:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "16019:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "16019:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_RadonSLA_calldata",
                      "nativeSrc": "15963:35:84",
                      "nodeType": "YulIdentifier",
                      "src": "15963:35:84"
                    },
                    "nativeSrc": "15963:64:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15963:64:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "15953:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15953:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "16036:47:84",
                  "nodeType": "YulAssignment",
                  "src": "16036:47:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16068:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16068:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16079:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16079:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16064:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16064:3:84"
                        },
                        "nativeSrc": "16064:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16064:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint24",
                      "nativeSrc": "16046:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "16046:17:84"
                    },
                    "nativeSrc": "16046:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16046:37:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "16036:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16036:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_calldata_ptrt_struct$_RadonSLA_$23503_calldata_ptrt_uint24",
            "nativeSrc": "15478:611:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15571:9:84",
                "nodeType": "YulTypedName",
                "src": "15571:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "15582:7:84",
                "nodeType": "YulTypedName",
                "src": "15582:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "15594:6:84",
                "nodeType": "YulTypedName",
                "src": "15594:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "15602:6:84",
                "nodeType": "YulTypedName",
                "src": "15602:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "15610:6:84",
                "nodeType": "YulTypedName",
                "src": "15610:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "15618:6:84",
                "nodeType": "YulTypedName",
                "src": "15618:6:84",
                "type": ""
              }
            ],
            "src": "15478:611:84"
          },
          {
            "body": {
              "nativeSrc": "16152:91:84",
              "nodeType": "YulBlock",
              "src": "16152:91:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "16188:22:84",
                    "nodeType": "YulBlock",
                    "src": "16188:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "16190:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "16190:16:84"
                          },
                          "nativeSrc": "16190:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "16190:18:84"
                        },
                        "nativeSrc": "16190:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "16190:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "16175:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "16175:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16182:3:84",
                            "nodeType": "YulLiteral",
                            "src": "16182:3:84",
                            "type": "",
                            "value": "255"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "16172:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "16172:2:84"
                        },
                        "nativeSrc": "16172:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16172:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "16165:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16165:6:84"
                    },
                    "nativeSrc": "16165:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16165:22:84"
                  },
                  "nativeSrc": "16162:48:84",
                  "nodeType": "YulIf",
                  "src": "16162:48:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "16226:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "16226:3:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "16231:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "16231:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16219:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16219:6:84"
                    },
                    "nativeSrc": "16219:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16219:18:84"
                  },
                  "nativeSrc": "16219:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16219:18:84"
                }
              ]
            },
            "name": "abi_encode_enum_ResultErrorCodes",
            "nativeSrc": "16094:149:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "16136:5:84",
                "nodeType": "YulTypedName",
                "src": "16136:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "16143:3:84",
                "nodeType": "YulTypedName",
                "src": "16143:3:84",
                "type": ""
              }
            ],
            "src": "16094:149:84"
          },
          {
            "body": {
              "nativeSrc": "16409:274:84",
              "nodeType": "YulBlock",
              "src": "16409:274:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16426:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "16426:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16437:2:84",
                        "nodeType": "YulLiteral",
                        "src": "16437:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16419:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16419:6:84"
                    },
                    "nativeSrc": "16419:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16419:21:84"
                  },
                  "nativeSrc": "16419:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16419:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "16488:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "16488:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "16482:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "16482:5:84"
                        },
                        "nativeSrc": "16482:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16482:13:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16501:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16501:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16512:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16512:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16497:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16497:3:84"
                        },
                        "nativeSrc": "16497:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16497:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResultErrorCodes",
                      "nativeSrc": "16449:32:84",
                      "nodeType": "YulIdentifier",
                      "src": "16449:32:84"
                    },
                    "nativeSrc": "16449:67:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16449:67:84"
                  },
                  "nativeSrc": "16449:67:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16449:67:84"
                },
                {
                  "nativeSrc": "16525:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16525:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "16555:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "16555:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16563:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16563:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16551:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16551:3:84"
                        },
                        "nativeSrc": "16551:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16551:15:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "16545:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "16545:5:84"
                    },
                    "nativeSrc": "16545:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16545:22:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "16529:12:84",
                      "nodeType": "YulTypedName",
                      "src": "16529:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16587:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16587:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16598:4:84",
                            "nodeType": "YulLiteral",
                            "src": "16598:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16583:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16583:3:84"
                        },
                        "nativeSrc": "16583:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16583:20:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16605:4:84",
                        "nodeType": "YulLiteral",
                        "src": "16605:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16576:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16576:6:84"
                    },
                    "nativeSrc": "16576:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16576:34:84"
                  },
                  "nativeSrc": "16576:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16576:34:84"
                },
                {
                  "nativeSrc": "16619:58:84",
                  "nodeType": "YulAssignment",
                  "src": "16619:58:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "16644:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "16644:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16662:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16662:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16673:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16673:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16658:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16658:3:84"
                        },
                        "nativeSrc": "16658:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16658:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "16627:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "16627:16:84"
                    },
                    "nativeSrc": "16627:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16627:50:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "16619:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "16619:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_ResultError_$16055_memory_ptr__to_t_struct$_ResultError_$16055_memory_ptr__fromStack_reversed",
            "nativeSrc": "16248:435:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16378:9:84",
                "nodeType": "YulTypedName",
                "src": "16378:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "16389:6:84",
                "nodeType": "YulTypedName",
                "src": "16389:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "16400:4:84",
                "nodeType": "YulTypedName",
                "src": "16400:4:84",
                "type": ""
              }
            ],
            "src": "16248:435:84"
          },
          {
            "body": {
              "nativeSrc": "16837:397:84",
              "nodeType": "YulBlock",
              "src": "16837:397:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16854:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "16854:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16865:2:84",
                        "nodeType": "YulLiteral",
                        "src": "16865:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16847:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16847:6:84"
                    },
                    "nativeSrc": "16847:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16847:21:84"
                  },
                  "nativeSrc": "16847:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16847:21:84"
                },
                {
                  "nativeSrc": "16877:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16877:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "16903:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "16903:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "16897:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "16897:5:84"
                    },
                    "nativeSrc": "16897:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16897:13:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "16881:12:84",
                      "nodeType": "YulTypedName",
                      "src": "16881:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16930:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "16930:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16941:2:84",
                            "nodeType": "YulLiteral",
                            "src": "16941:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16926:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "16926:3:84"
                        },
                        "nativeSrc": "16926:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "16926:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16946:4:84",
                        "nodeType": "YulLiteral",
                        "src": "16946:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16919:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "16919:6:84"
                    },
                    "nativeSrc": "16919:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16919:32:84"
                  },
                  "nativeSrc": "16919:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "16919:32:84"
                },
                {
                  "nativeSrc": "16960:73:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16960:73:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "17000:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "17000:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17018:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17018:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17029:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17029:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17014:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17014:3:84"
                        },
                        "nativeSrc": "17014:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17014:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Request",
                      "nativeSrc": "16974:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "16974:25:84"
                    },
                    "nativeSrc": "16974:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "16974:59:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "16964:6:84",
                      "nodeType": "YulTypedName",
                      "src": "16964:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "17042:44:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17042:44:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "17074:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17074:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17082:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17082:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17070:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17070:3:84"
                        },
                        "nativeSrc": "17070:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17070:15:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "17064:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "17064:5:84"
                    },
                    "nativeSrc": "17064:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17064:22:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_1",
                      "nativeSrc": "17046:14:84",
                      "nodeType": "YulTypedName",
                      "src": "17046:14:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17106:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17106:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17117:4:84",
                            "nodeType": "YulLiteral",
                            "src": "17117:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17102:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17102:3:84"
                        },
                        "nativeSrc": "17102:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17102:20:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "tail_1",
                                "nativeSrc": "17132:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "17132:6:84"
                              },
                              {
                                "name": "headStart",
                                "nativeSrc": "17140:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "17140:9:84"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "17128:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "17128:3:84"
                            },
                            "nativeSrc": "17128:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "17128:22:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "17156:2:84",
                                "nodeType": "YulLiteral",
                                "src": "17156:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "17152:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "17152:3:84"
                            },
                            "nativeSrc": "17152:7:84",
                            "nodeType": "YulFunctionCall",
                            "src": "17152:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17124:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17124:3:84"
                        },
                        "nativeSrc": "17124:36:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17124:36:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "17095:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17095:6:84"
                    },
                    "nativeSrc": "17095:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17095:66:84"
                  },
                  "nativeSrc": "17095:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "17095:66:84"
                },
                {
                  "nativeSrc": "17170:58:84",
                  "nodeType": "YulAssignment",
                  "src": "17170:58:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0_1",
                        "nativeSrc": "17205:14:84",
                        "nodeType": "YulIdentifier",
                        "src": "17205:14:84"
                      },
                      {
                        "name": "tail_1",
                        "nativeSrc": "17221:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "17221:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Response",
                      "nativeSrc": "17178:26:84",
                      "nodeType": "YulIdentifier",
                      "src": "17178:26:84"
                    },
                    "nativeSrc": "17178:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17178:50:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "17170:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "17170:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Query_$23455_memory_ptr__to_t_struct$_Query_$23455_memory_ptr__fromStack_reversed",
            "nativeSrc": "16688:546:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16806:9:84",
                "nodeType": "YulTypedName",
                "src": "16806:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "16817:6:84",
                "nodeType": "YulTypedName",
                "src": "16817:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "16828:4:84",
                "nodeType": "YulTypedName",
                "src": "16828:4:84",
                "type": ""
              }
            ],
            "src": "16688:546:84"
          },
          {
            "body": {
              "nativeSrc": "17287:115:84",
              "nodeType": "YulBlock",
              "src": "17287:115:84",
              "statements": [
                {
                  "nativeSrc": "17297:29:84",
                  "nodeType": "YulAssignment",
                  "src": "17297:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "17319:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "17319:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17306:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "17306:12:84"
                    },
                    "nativeSrc": "17306:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17306:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "17297:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "17297:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17380:16:84",
                    "nodeType": "YulBlock",
                    "src": "17380:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17389:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17389:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17392:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17392:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17382:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17382:6:84"
                          },
                          "nativeSrc": "17382:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "17382:12:84"
                        },
                        "nativeSrc": "17382:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "17382:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "17348:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "17348:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "17359:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "17359:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "17366:10:84",
                                "nodeType": "YulLiteral",
                                "src": "17366:10:84",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "17355:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "17355:3:84"
                            },
                            "nativeSrc": "17355:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "17355:22:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "17345:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "17345:2:84"
                        },
                        "nativeSrc": "17345:33:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17345:33:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "17338:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17338:6:84"
                    },
                    "nativeSrc": "17338:41:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17338:41:84"
                  },
                  "nativeSrc": "17335:61:84",
                  "nodeType": "YulIf",
                  "src": "17335:61:84"
                }
              ]
            },
            "name": "abi_decode_uint32",
            "nativeSrc": "17239:163:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "17266:6:84",
                "nodeType": "YulTypedName",
                "src": "17266:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "17277:5:84",
                "nodeType": "YulTypedName",
                "src": "17277:5:84",
                "type": ""
              }
            ],
            "src": "17239:163:84"
          },
          {
            "body": {
              "nativeSrc": "17546:479:84",
              "nodeType": "YulBlock",
              "src": "17546:479:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "17593:16:84",
                    "nodeType": "YulBlock",
                    "src": "17593:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17602:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17602:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17605:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17605:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17595:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17595:6:84"
                          },
                          "nativeSrc": "17595:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "17595:12:84"
                        },
                        "nativeSrc": "17595:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "17595:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "17567:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "17567:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "17576:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17576:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "17563:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17563:3:84"
                        },
                        "nativeSrc": "17563:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17563:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17588:3:84",
                        "nodeType": "YulLiteral",
                        "src": "17588:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "17559:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "17559:3:84"
                    },
                    "nativeSrc": "17559:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17559:33:84"
                  },
                  "nativeSrc": "17556:53:84",
                  "nodeType": "YulIf",
                  "src": "17556:53:84"
                },
                {
                  "nativeSrc": "17618:33:84",
                  "nodeType": "YulAssignment",
                  "src": "17618:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17641:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "17641:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17628:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "17628:12:84"
                    },
                    "nativeSrc": "17628:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17628:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "17618:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17618:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "17660:47:84",
                  "nodeType": "YulAssignment",
                  "src": "17660:47:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17692:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17692:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17703:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17703:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17688:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17688:3:84"
                        },
                        "nativeSrc": "17688:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17688:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint32",
                      "nativeSrc": "17670:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "17670:17:84"
                    },
                    "nativeSrc": "17670:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17670:37:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "17660:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17660:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "17716:42:84",
                  "nodeType": "YulAssignment",
                  "src": "17716:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17743:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17743:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17754:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17754:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17739:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17739:3:84"
                        },
                        "nativeSrc": "17739:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17739:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17726:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "17726:12:84"
                    },
                    "nativeSrc": "17726:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17726:32:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "17716:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17716:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "17767:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17767:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17798:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17798:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17809:2:84",
                            "nodeType": "YulLiteral",
                            "src": "17809:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17794:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17794:3:84"
                        },
                        "nativeSrc": "17794:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17794:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17781:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "17781:12:84"
                    },
                    "nativeSrc": "17781:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17781:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "17771:6:84",
                      "nodeType": "YulTypedName",
                      "src": "17771:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17856:16:84",
                    "nodeType": "YulBlock",
                    "src": "17856:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17865:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17865:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17868:1:84",
                              "nodeType": "YulLiteral",
                              "src": "17868:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17858:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17858:6:84"
                          },
                          "nativeSrc": "17858:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "17858:12:84"
                        },
                        "nativeSrc": "17858:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "17858:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "17828:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "17828:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17836:18:84",
                        "nodeType": "YulLiteral",
                        "src": "17836:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "17825:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "17825:2:84"
                    },
                    "nativeSrc": "17825:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17825:30:84"
                  },
                  "nativeSrc": "17822:50:84",
                  "nodeType": "YulIf",
                  "src": "17822:50:84"
                },
                {
                  "nativeSrc": "17881:84:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17881:84:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17937:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "17937:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "17948:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "17948:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17933:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "17933:3:84"
                        },
                        "nativeSrc": "17933:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "17933:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "17957:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "17957:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "17907:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "17907:25:84"
                    },
                    "nativeSrc": "17907:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "17907:58:84"
                  },
                  "variables": [
                    {
                      "name": "value3_1",
                      "nativeSrc": "17885:8:84",
                      "nodeType": "YulTypedName",
                      "src": "17885:8:84",
                      "type": ""
                    },
                    {
                      "name": "value4_1",
                      "nativeSrc": "17895:8:84",
                      "nodeType": "YulTypedName",
                      "src": "17895:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "17974:18:84",
                  "nodeType": "YulAssignment",
                  "src": "17974:18:84",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "17984:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "17984:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "17974:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "17974:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "18001:18:84",
                  "nodeType": "YulAssignment",
                  "src": "18001:18:84",
                  "value": {
                    "name": "value4_1",
                    "nativeSrc": "18011:8:84",
                    "nodeType": "YulIdentifier",
                    "src": "18011:8:84"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "18001:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18001:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256t_uint32t_bytes32t_bytes_calldata_ptr",
            "nativeSrc": "17407:618:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "17480:9:84",
                "nodeType": "YulTypedName",
                "src": "17480:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "17491:7:84",
                "nodeType": "YulTypedName",
                "src": "17491:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "17503:6:84",
                "nodeType": "YulTypedName",
                "src": "17503:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "17511:6:84",
                "nodeType": "YulTypedName",
                "src": "17511:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "17519:6:84",
                "nodeType": "YulTypedName",
                "src": "17519:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "17527:6:84",
                "nodeType": "YulTypedName",
                "src": "17527:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "17535:6:84",
                "nodeType": "YulTypedName",
                "src": "17535:6:84",
                "type": ""
              }
            ],
            "src": "17407:618:84"
          },
          {
            "body": {
              "nativeSrc": "18159:102:84",
              "nodeType": "YulBlock",
              "src": "18159:102:84",
              "statements": [
                {
                  "nativeSrc": "18169:26:84",
                  "nodeType": "YulAssignment",
                  "src": "18169:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18181:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18181:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18192:2:84",
                        "nodeType": "YulLiteral",
                        "src": "18192:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "18177:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "18177:3:84"
                    },
                    "nativeSrc": "18177:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18177:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "18169:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "18169:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18211:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18211:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "18226:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18226:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18242:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "18242:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18247:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "18247:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "18238:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "18238:3:84"
                                },
                                "nativeSrc": "18238:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "18238:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "18251:1:84",
                                "nodeType": "YulLiteral",
                                "src": "18251:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "18234:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "18234:3:84"
                            },
                            "nativeSrc": "18234:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "18234:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "18222:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18222:3:84"
                        },
                        "nativeSrc": "18222:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18222:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18204:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18204:6:84"
                    },
                    "nativeSrc": "18204:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18204:51:84"
                  },
                  "nativeSrc": "18204:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "18204:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_WitnetRequestFactory_$880__to_t_address__fromStack_reversed",
            "nativeSrc": "18030:231:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18128:9:84",
                "nodeType": "YulTypedName",
                "src": "18128:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "18139:6:84",
                "nodeType": "YulTypedName",
                "src": "18139:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "18150:4:84",
                "nodeType": "YulTypedName",
                "src": "18150:4:84",
                "type": ""
              }
            ],
            "src": "18030:231:84"
          },
          {
            "body": {
              "nativeSrc": "18381:102:84",
              "nodeType": "YulBlock",
              "src": "18381:102:84",
              "statements": [
                {
                  "nativeSrc": "18391:26:84",
                  "nodeType": "YulAssignment",
                  "src": "18391:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18403:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18403:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18414:2:84",
                        "nodeType": "YulLiteral",
                        "src": "18414:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "18399:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "18399:3:84"
                    },
                    "nativeSrc": "18399:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18399:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "18391:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "18391:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18433:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18433:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "18448:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18448:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18464:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "18464:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18469:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "18469:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "18460:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "18460:3:84"
                                },
                                "nativeSrc": "18460:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "18460:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "18473:1:84",
                                "nodeType": "YulLiteral",
                                "src": "18473:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "18456:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "18456:3:84"
                            },
                            "nativeSrc": "18456:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "18456:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "18444:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18444:3:84"
                        },
                        "nativeSrc": "18444:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18444:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18426:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18426:6:84"
                    },
                    "nativeSrc": "18426:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18426:51:84"
                  },
                  "nativeSrc": "18426:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "18426:51:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_IERC20_$479__to_t_address__fromStack_reversed",
            "nativeSrc": "18266:217:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18350:9:84",
                "nodeType": "YulTypedName",
                "src": "18350:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "18361:6:84",
                "nodeType": "YulTypedName",
                "src": "18361:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "18372:4:84",
                "nodeType": "YulTypedName",
                "src": "18372:4:84",
                "type": ""
              }
            ],
            "src": "18266:217:84"
          },
          {
            "body": {
              "nativeSrc": "18620:250:84",
              "nodeType": "YulBlock",
              "src": "18620:250:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "18667:16:84",
                    "nodeType": "YulBlock",
                    "src": "18667:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18676:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18676:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "18679:1:84",
                              "nodeType": "YulLiteral",
                              "src": "18679:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "18669:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "18669:6:84"
                          },
                          "nativeSrc": "18669:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "18669:12:84"
                        },
                        "nativeSrc": "18669:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "18669:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "18641:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "18641:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "18650:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "18650:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "18637:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18637:3:84"
                        },
                        "nativeSrc": "18637:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18637:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18662:3:84",
                        "nodeType": "YulLiteral",
                        "src": "18662:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "18633:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "18633:3:84"
                    },
                    "nativeSrc": "18633:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18633:33:84"
                  },
                  "nativeSrc": "18630:53:84",
                  "nodeType": "YulIf",
                  "src": "18630:53:84"
                },
                {
                  "nativeSrc": "18692:33:84",
                  "nodeType": "YulAssignment",
                  "src": "18692:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18715:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "18715:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18702:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "18702:12:84"
                    },
                    "nativeSrc": "18702:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18702:23:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "18692:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18692:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "18734:74:84",
                  "nodeType": "YulAssignment",
                  "src": "18734:74:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18784:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "18784:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18795:2:84",
                            "nodeType": "YulLiteral",
                            "src": "18795:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18780:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18780:3:84"
                        },
                        "nativeSrc": "18780:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18780:18:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "18800:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "18800:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_RadonSLA_calldata",
                      "nativeSrc": "18744:35:84",
                      "nodeType": "YulIdentifier",
                      "src": "18744:35:84"
                    },
                    "nativeSrc": "18744:64:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18744:64:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "18734:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18734:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "18817:47:84",
                  "nodeType": "YulAssignment",
                  "src": "18817:47:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18849:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "18849:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18860:2:84",
                            "nodeType": "YulLiteral",
                            "src": "18860:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18845:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "18845:3:84"
                        },
                        "nativeSrc": "18845:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "18845:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint24",
                      "nativeSrc": "18827:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "18827:17:84"
                    },
                    "nativeSrc": "18827:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "18827:37:84"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "18817:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "18817:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes32t_struct$_RadonSLA_$23503_calldata_ptrt_uint24",
            "nativeSrc": "18488:382:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18570:9:84",
                "nodeType": "YulTypedName",
                "src": "18570:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "18581:7:84",
                "nodeType": "YulTypedName",
                "src": "18581:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "18593:6:84",
                "nodeType": "YulTypedName",
                "src": "18593:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "18601:6:84",
                "nodeType": "YulTypedName",
                "src": "18601:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "18609:6:84",
                "nodeType": "YulTypedName",
                "src": "18609:6:84",
                "type": ""
              }
            ],
            "src": "18488:382:84"
          },
          {
            "body": {
              "nativeSrc": "19163:353:84",
              "nodeType": "YulBlock",
              "src": "19163:353:84",
              "statements": [
                {
                  "nativeSrc": "19173:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19173:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "19193:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "19193:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "19187:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "19187:5:84"
                    },
                    "nativeSrc": "19187:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19187:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "19177:6:84",
                      "nodeType": "YulTypedName",
                      "src": "19177:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "19248:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "19248:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19256:4:84",
                            "nodeType": "YulLiteral",
                            "src": "19256:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19244:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19244:3:84"
                        },
                        "nativeSrc": "19244:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19244:17:84"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "19263:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "19263:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "19268:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "19268:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "19209:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "19209:34:84"
                    },
                    "nativeSrc": "19209:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19209:66:84"
                  },
                  "nativeSrc": "19209:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19209:66:84"
                },
                {
                  "nativeSrc": "19284:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19284:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "19301:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "19301:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "19306:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "19306:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "19297:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19297:3:84"
                    },
                    "nativeSrc": "19297:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19297:16:84"
                  },
                  "variables": [
                    {
                      "name": "end_1",
                      "nativeSrc": "19288:5:84",
                      "nodeType": "YulTypedName",
                      "src": "19288:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "19329:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "19329:5:84"
                      },
                      {
                        "hexValue": "3a20",
                        "kind": "string",
                        "nativeSrc": "19336:4:84",
                        "nodeType": "YulLiteral",
                        "src": "19336:4:84",
                        "type": "",
                        "value": ": "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19322:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19322:6:84"
                    },
                    "nativeSrc": "19322:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19322:19:84"
                  },
                  "nativeSrc": "19322:19:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19322:19:84"
                },
                {
                  "nativeSrc": "19350:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19350:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "19372:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "19372:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "19366:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "19366:5:84"
                    },
                    "nativeSrc": "19366:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19366:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "19354:8:84",
                      "nodeType": "YulTypedName",
                      "src": "19354:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "19427:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "19427:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19435:4:84",
                            "nodeType": "YulLiteral",
                            "src": "19435:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19423:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19423:3:84"
                        },
                        "nativeSrc": "19423:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19423:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "end_1",
                            "nativeSrc": "19446:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "19446:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19453:1:84",
                            "nodeType": "YulLiteral",
                            "src": "19453:1:84",
                            "type": "",
                            "value": "2"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19442:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19442:3:84"
                        },
                        "nativeSrc": "19442:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19442:13:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "19457:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "19457:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "19388:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "19388:34:84"
                    },
                    "nativeSrc": "19388:78:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19388:78:84"
                  },
                  "nativeSrc": "19388:78:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19388:78:84"
                },
                {
                  "nativeSrc": "19475:35:84",
                  "nodeType": "YulAssignment",
                  "src": "19475:35:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end_1",
                            "nativeSrc": "19490:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "19490:5:84"
                          },
                          {
                            "name": "length_1",
                            "nativeSrc": "19497:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "19497:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19486:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19486:3:84"
                        },
                        "nativeSrc": "19486:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19486:20:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19508:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19508:1:84",
                        "type": "",
                        "value": "2"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "19482:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19482:3:84"
                    },
                    "nativeSrc": "19482:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19482:28:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "19475:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19475:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "18875:641:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "19131:3:84",
                "nodeType": "YulTypedName",
                "src": "19131:3:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "19136:6:84",
                "nodeType": "YulTypedName",
                "src": "19136:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "19144:6:84",
                "nodeType": "YulTypedName",
                "src": "19144:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "19155:3:84",
                "nodeType": "YulTypedName",
                "src": "19155:3:84",
                "type": ""
              }
            ],
            "src": "18875:641:84"
          },
          {
            "body": {
              "nativeSrc": "19553:95:84",
              "nodeType": "YulBlock",
              "src": "19553:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19570:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19570:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "19577:3:84",
                            "nodeType": "YulLiteral",
                            "src": "19577:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19582:10:84",
                            "nodeType": "YulLiteral",
                            "src": "19582:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "19573:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19573:3:84"
                        },
                        "nativeSrc": "19573:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19573:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19563:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19563:6:84"
                    },
                    "nativeSrc": "19563:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19563:31:84"
                  },
                  "nativeSrc": "19563:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19563:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19610:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19610:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19613:4:84",
                        "nodeType": "YulLiteral",
                        "src": "19613:4:84",
                        "type": "",
                        "value": "0x12"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19603:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19603:6:84"
                    },
                    "nativeSrc": "19603:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19603:15:84"
                  },
                  "nativeSrc": "19603:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19603:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19634:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19634:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19637:4:84",
                        "nodeType": "YulLiteral",
                        "src": "19637:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "19627:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19627:6:84"
                    },
                    "nativeSrc": "19627:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19627:15:84"
                  },
                  "nativeSrc": "19627:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19627:15:84"
                }
              ]
            },
            "name": "panic_error_0x12",
            "nativeSrc": "19521:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "19521:127:84"
          },
          {
            "body": {
              "nativeSrc": "19685:95:84",
              "nodeType": "YulBlock",
              "src": "19685:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19702:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19702:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "19709:3:84",
                            "nodeType": "YulLiteral",
                            "src": "19709:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19714:10:84",
                            "nodeType": "YulLiteral",
                            "src": "19714:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "19705:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19705:3:84"
                        },
                        "nativeSrc": "19705:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19705:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19695:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19695:6:84"
                    },
                    "nativeSrc": "19695:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19695:31:84"
                  },
                  "nativeSrc": "19695:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19695:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19742:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19742:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19745:4:84",
                        "nodeType": "YulLiteral",
                        "src": "19745:4:84",
                        "type": "",
                        "value": "0x11"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19735:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19735:6:84"
                    },
                    "nativeSrc": "19735:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19735:15:84"
                  },
                  "nativeSrc": "19735:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19735:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "19766:1:84",
                        "nodeType": "YulLiteral",
                        "src": "19766:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19769:4:84",
                        "nodeType": "YulLiteral",
                        "src": "19769:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "19759:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19759:6:84"
                    },
                    "nativeSrc": "19759:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19759:15:84"
                  },
                  "nativeSrc": "19759:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "19759:15:84"
                }
              ]
            },
            "name": "panic_error_0x11",
            "nativeSrc": "19653:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "19653:127:84"
          },
          {
            "body": {
              "nativeSrc": "19829:121:84",
              "nodeType": "YulBlock",
              "src": "19829:121:84",
              "statements": [
                {
                  "nativeSrc": "19839:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19839:23:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "19854:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "19854:1:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19857:4:84",
                        "nodeType": "YulLiteral",
                        "src": "19857:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "19850:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19850:3:84"
                    },
                    "nativeSrc": "19850:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19850:12:84"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "19843:3:84",
                      "nodeType": "YulTypedName",
                      "src": "19843:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "19886:22:84",
                    "nodeType": "YulBlock",
                    "src": "19886:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "19888:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "19888:16:84"
                          },
                          "nativeSrc": "19888:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "19888:18:84"
                        },
                        "nativeSrc": "19888:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "19888:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "19881:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "19881:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "19874:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "19874:6:84"
                    },
                    "nativeSrc": "19874:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19874:11:84"
                  },
                  "nativeSrc": "19871:37:84",
                  "nodeType": "YulIf",
                  "src": "19871:37:84"
                },
                {
                  "nativeSrc": "19917:27:84",
                  "nodeType": "YulAssignment",
                  "src": "19917:27:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "19930:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "19930:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19933:4:84",
                            "nodeType": "YulLiteral",
                            "src": "19933:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "19926:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "19926:3:84"
                        },
                        "nativeSrc": "19926:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "19926:12:84"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "19940:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "19940:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "19922:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "19922:3:84"
                    },
                    "nativeSrc": "19922:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "19922:22:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "19917:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "19917:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint8",
            "nativeSrc": "19785:165:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "19814:1:84",
                "nodeType": "YulTypedName",
                "src": "19814:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "19817:1:84",
                "nodeType": "YulTypedName",
                "src": "19817:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "19823:1:84",
                "nodeType": "YulTypedName",
                "src": "19823:1:84",
                "type": ""
              }
            ],
            "src": "19785:165:84"
          },
          {
            "body": {
              "nativeSrc": "20001:102:84",
              "nodeType": "YulBlock",
              "src": "20001:102:84",
              "statements": [
                {
                  "nativeSrc": "20011:38:84",
                  "nodeType": "YulAssignment",
                  "src": "20011:38:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "20026:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "20026:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20029:4:84",
                            "nodeType": "YulLiteral",
                            "src": "20029:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "20022:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20022:3:84"
                        },
                        "nativeSrc": "20022:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20022:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "20040:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "20040:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20043:4:84",
                            "nodeType": "YulLiteral",
                            "src": "20043:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "20036:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20036:3:84"
                        },
                        "nativeSrc": "20036:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20036:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "20018:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20018:3:84"
                    },
                    "nativeSrc": "20018:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20018:31:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "20011:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20011:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20075:22:84",
                    "nodeType": "YulBlock",
                    "src": "20075:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "20077:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "20077:16:84"
                          },
                          "nativeSrc": "20077:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20077:18:84"
                        },
                        "nativeSrc": "20077:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20077:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "20064:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "20064:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20069:4:84",
                        "nodeType": "YulLiteral",
                        "src": "20069:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "20061:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "20061:2:84"
                    },
                    "nativeSrc": "20061:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20061:13:84"
                  },
                  "nativeSrc": "20058:39:84",
                  "nodeType": "YulIf",
                  "src": "20058:39:84"
                }
              ]
            },
            "name": "checked_add_t_uint8",
            "nativeSrc": "19955:148:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "19984:1:84",
                "nodeType": "YulTypedName",
                "src": "19984:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "19987:1:84",
                "nodeType": "YulTypedName",
                "src": "19987:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "19993:3:84",
                "nodeType": "YulTypedName",
                "src": "19993:3:84",
                "type": ""
              }
            ],
            "src": "19955:148:84"
          },
          {
            "body": {
              "nativeSrc": "20144:121:84",
              "nodeType": "YulBlock",
              "src": "20144:121:84",
              "statements": [
                {
                  "nativeSrc": "20154:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20154:23:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "20169:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20169:1:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20172:4:84",
                        "nodeType": "YulLiteral",
                        "src": "20172:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "20165:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20165:3:84"
                    },
                    "nativeSrc": "20165:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20165:12:84"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "20158:3:84",
                      "nodeType": "YulTypedName",
                      "src": "20158:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20201:22:84",
                    "nodeType": "YulBlock",
                    "src": "20201:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "20203:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "20203:16:84"
                          },
                          "nativeSrc": "20203:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20203:18:84"
                        },
                        "nativeSrc": "20203:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20203:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "20196:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "20196:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "20189:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20189:6:84"
                    },
                    "nativeSrc": "20189:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20189:11:84"
                  },
                  "nativeSrc": "20186:37:84",
                  "nodeType": "YulIf",
                  "src": "20186:37:84"
                },
                {
                  "nativeSrc": "20232:27:84",
                  "nodeType": "YulAssignment",
                  "src": "20232:27:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "20245:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "20245:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20248:4:84",
                            "nodeType": "YulLiteral",
                            "src": "20248:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "20241:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20241:3:84"
                        },
                        "nativeSrc": "20241:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20241:12:84"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "20255:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "20255:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mod",
                      "nativeSrc": "20237:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20237:3:84"
                    },
                    "nativeSrc": "20237:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20237:22:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "20232:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "20232:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "mod_t_uint8",
            "nativeSrc": "20108:157:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "20129:1:84",
                "nodeType": "YulTypedName",
                "src": "20129:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "20132:1:84",
                "nodeType": "YulTypedName",
                "src": "20132:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "20138:1:84",
                "nodeType": "YulTypedName",
                "src": "20138:1:84",
                "type": ""
              }
            ],
            "src": "20108:157:84"
          },
          {
            "body": {
              "nativeSrc": "20302:95:84",
              "nodeType": "YulBlock",
              "src": "20302:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "20319:1:84",
                        "nodeType": "YulLiteral",
                        "src": "20319:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "20326:3:84",
                            "nodeType": "YulLiteral",
                            "src": "20326:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20331:10:84",
                            "nodeType": "YulLiteral",
                            "src": "20331:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "20322:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20322:3:84"
                        },
                        "nativeSrc": "20322:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20322:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20312:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20312:6:84"
                    },
                    "nativeSrc": "20312:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20312:31:84"
                  },
                  "nativeSrc": "20312:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20312:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "20359:1:84",
                        "nodeType": "YulLiteral",
                        "src": "20359:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20362:4:84",
                        "nodeType": "YulLiteral",
                        "src": "20362:4:84",
                        "type": "",
                        "value": "0x32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20352:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20352:6:84"
                    },
                    "nativeSrc": "20352:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20352:15:84"
                  },
                  "nativeSrc": "20352:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20352:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "20383:1:84",
                        "nodeType": "YulLiteral",
                        "src": "20383:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20386:4:84",
                        "nodeType": "YulLiteral",
                        "src": "20386:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "20376:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20376:6:84"
                    },
                    "nativeSrc": "20376:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20376:15:84"
                  },
                  "nativeSrc": "20376:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "20376:15:84"
                }
              ]
            },
            "name": "panic_error_0x32",
            "nativeSrc": "20270:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "20270:127:84"
          },
          {
            "body": {
              "nativeSrc": "20454:116:84",
              "nodeType": "YulBlock",
              "src": "20454:116:84",
              "statements": [
                {
                  "nativeSrc": "20464:20:84",
                  "nodeType": "YulAssignment",
                  "src": "20464:20:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "20479:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20479:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "20482:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20482:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "20475:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20475:3:84"
                    },
                    "nativeSrc": "20475:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20475:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "20464:7:84",
                      "nodeType": "YulIdentifier",
                      "src": "20464:7:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20542:22:84",
                    "nodeType": "YulBlock",
                    "src": "20542:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "20544:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "20544:16:84"
                          },
                          "nativeSrc": "20544:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20544:18:84"
                        },
                        "nativeSrc": "20544:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20544:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "x",
                                "nativeSrc": "20513:1:84",
                                "nodeType": "YulIdentifier",
                                "src": "20513:1:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "20506:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "20506:6:84"
                            },
                            "nativeSrc": "20506:9:84",
                            "nodeType": "YulFunctionCall",
                            "src": "20506:9:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "y",
                                "nativeSrc": "20520:1:84",
                                "nodeType": "YulIdentifier",
                                "src": "20520:1:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "name": "product",
                                    "nativeSrc": "20527:7:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "20527:7:84"
                                  },
                                  {
                                    "name": "x",
                                    "nativeSrc": "20536:1:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "20536:1:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "div",
                                  "nativeSrc": "20523:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "20523:3:84"
                                },
                                "nativeSrc": "20523:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "20523:15:84"
                              }
                            ],
                            "functionName": {
                              "name": "eq",
                              "nativeSrc": "20517:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "20517:2:84"
                            },
                            "nativeSrc": "20517:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "20517:22:84"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "20503:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "20503:2:84"
                        },
                        "nativeSrc": "20503:37:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20503:37:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "20496:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20496:6:84"
                    },
                    "nativeSrc": "20496:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20496:45:84"
                  },
                  "nativeSrc": "20493:71:84",
                  "nodeType": "YulIf",
                  "src": "20493:71:84"
                }
              ]
            },
            "name": "checked_mul_t_uint256",
            "nativeSrc": "20402:168:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "20433:1:84",
                "nodeType": "YulTypedName",
                "src": "20433:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "20436:1:84",
                "nodeType": "YulTypedName",
                "src": "20436:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "20442:7:84",
                "nodeType": "YulTypedName",
                "src": "20442:7:84",
                "type": ""
              }
            ],
            "src": "20402:168:84"
          },
          {
            "body": {
              "nativeSrc": "20623:77:84",
              "nodeType": "YulBlock",
              "src": "20623:77:84",
              "statements": [
                {
                  "nativeSrc": "20633:16:84",
                  "nodeType": "YulAssignment",
                  "src": "20633:16:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "20644:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20644:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "20647:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20647:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "20640:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20640:3:84"
                    },
                    "nativeSrc": "20640:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20640:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "20633:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20633:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20672:22:84",
                    "nodeType": "YulBlock",
                    "src": "20672:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "20674:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "20674:16:84"
                          },
                          "nativeSrc": "20674:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20674:18:84"
                        },
                        "nativeSrc": "20674:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20674:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "20664:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "20664:1:84"
                      },
                      {
                        "name": "sum",
                        "nativeSrc": "20667:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "20667:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "20661:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "20661:2:84"
                    },
                    "nativeSrc": "20661:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20661:10:84"
                  },
                  "nativeSrc": "20658:36:84",
                  "nodeType": "YulIf",
                  "src": "20658:36:84"
                }
              ]
            },
            "name": "checked_add_t_uint256",
            "nativeSrc": "20575:125:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "20606:1:84",
                "nodeType": "YulTypedName",
                "src": "20606:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "20609:1:84",
                "nodeType": "YulTypedName",
                "src": "20609:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "20615:3:84",
                "nodeType": "YulTypedName",
                "src": "20615:3:84",
                "type": ""
              }
            ],
            "src": "20575:125:84"
          },
          {
            "body": {
              "nativeSrc": "20812:223:84",
              "nodeType": "YulBlock",
              "src": "20812:223:84",
              "statements": [
                {
                  "nativeSrc": "20822:51:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20822:51:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "ptr_to_tail",
                        "nativeSrc": "20861:11:84",
                        "nodeType": "YulIdentifier",
                        "src": "20861:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "20848:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "20848:12:84"
                    },
                    "nativeSrc": "20848:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20848:25:84"
                  },
                  "variables": [
                    {
                      "name": "rel_offset_of_tail",
                      "nativeSrc": "20826:18:84",
                      "nodeType": "YulTypedName",
                      "src": "20826:18:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20963:16:84",
                    "nodeType": "YulBlock",
                    "src": "20963:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "20972:1:84",
                              "nodeType": "YulLiteral",
                              "src": "20972:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "20975:1:84",
                              "nodeType": "YulLiteral",
                              "src": "20975:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "20965:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "20965:6:84"
                          },
                          "nativeSrc": "20965:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "20965:12:84"
                        },
                        "nativeSrc": "20965:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "20965:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "rel_offset_of_tail",
                            "nativeSrc": "20896:18:84",
                            "nodeType": "YulIdentifier",
                            "src": "20896:18:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "calldatasize",
                                      "nativeSrc": "20924:12:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "20924:12:84"
                                    },
                                    "nativeSrc": "20924:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "20924:14:84"
                                  },
                                  {
                                    "name": "base_ref",
                                    "nativeSrc": "20940:8:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "20940:8:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "20920:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "20920:3:84"
                                },
                                "nativeSrc": "20920:29:84",
                                "nodeType": "YulFunctionCall",
                                "src": "20920:29:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "20955:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "20955:3:84",
                                    "type": "",
                                    "value": "126"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "20951:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "20951:3:84"
                                },
                                "nativeSrc": "20951:8:84",
                                "nodeType": "YulFunctionCall",
                                "src": "20951:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "20916:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "20916:3:84"
                            },
                            "nativeSrc": "20916:44:84",
                            "nodeType": "YulFunctionCall",
                            "src": "20916:44:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "20892:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "20892:3:84"
                        },
                        "nativeSrc": "20892:69:84",
                        "nodeType": "YulFunctionCall",
                        "src": "20892:69:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "20885:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "20885:6:84"
                    },
                    "nativeSrc": "20885:77:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20885:77:84"
                  },
                  "nativeSrc": "20882:97:84",
                  "nodeType": "YulIf",
                  "src": "20882:97:84"
                },
                {
                  "nativeSrc": "20988:41:84",
                  "nodeType": "YulAssignment",
                  "src": "20988:41:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "base_ref",
                        "nativeSrc": "21000:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "21000:8:84"
                      },
                      {
                        "name": "rel_offset_of_tail",
                        "nativeSrc": "21010:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "21010:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "20996:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "20996:3:84"
                    },
                    "nativeSrc": "20996:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "20996:33:84"
                  },
                  "variableNames": [
                    {
                      "name": "addr",
                      "nativeSrc": "20988:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "20988:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "access_calldata_tail_t_struct$_BatchResult_$13391_calldata_ptr",
            "nativeSrc": "20705:330:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "base_ref",
                "nativeSrc": "20777:8:84",
                "nodeType": "YulTypedName",
                "src": "20777:8:84",
                "type": ""
              },
              {
                "name": "ptr_to_tail",
                "nativeSrc": "20787:11:84",
                "nodeType": "YulTypedName",
                "src": "20787:11:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "addr",
                "nativeSrc": "20803:4:84",
                "nodeType": "YulTypedName",
                "src": "20803:4:84",
                "type": ""
              }
            ],
            "src": "20705:330:84"
          },
          {
            "body": {
              "nativeSrc": "21164:97:84",
              "nodeType": "YulBlock",
              "src": "21164:97:84",
              "statements": [
                {
                  "nativeSrc": "21174:26:84",
                  "nodeType": "YulAssignment",
                  "src": "21174:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21186:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "21186:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21197:2:84",
                        "nodeType": "YulLiteral",
                        "src": "21197:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "21182:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "21182:3:84"
                    },
                    "nativeSrc": "21182:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21182:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "21174:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "21174:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "21237:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21237:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "21245:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "21245:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_QueryStatus",
                      "nativeSrc": "21209:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "21209:27:84"
                    },
                    "nativeSrc": "21209:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21209:46:84"
                  },
                  "nativeSrc": "21209:46:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21209:46:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_QueryStatus_$23461__to_t_uint8__fromStack_library_reversed",
            "nativeSrc": "21040:221:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "21133:9:84",
                "nodeType": "YulTypedName",
                "src": "21133:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "21144:6:84",
                "nodeType": "YulTypedName",
                "src": "21144:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "21155:4:84",
                "nodeType": "YulTypedName",
                "src": "21155:4:84",
                "type": ""
              }
            ],
            "src": "21040:221:84"
          },
          {
            "body": {
              "nativeSrc": "21330:425:84",
              "nodeType": "YulBlock",
              "src": "21330:425:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "21379:16:84",
                    "nodeType": "YulBlock",
                    "src": "21379:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21388:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21388:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21391:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21391:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21381:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21381:6:84"
                          },
                          "nativeSrc": "21381:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "21381:12:84"
                        },
                        "nativeSrc": "21381:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "21381:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "21358:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "21358:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "21366:4:84",
                                "nodeType": "YulLiteral",
                                "src": "21366:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "21354:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "21354:3:84"
                            },
                            "nativeSrc": "21354:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "21354:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "21373:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "21373:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "21350:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21350:3:84"
                        },
                        "nativeSrc": "21350:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21350:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "21343:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21343:6:84"
                    },
                    "nativeSrc": "21343:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21343:35:84"
                  },
                  "nativeSrc": "21340:55:84",
                  "nodeType": "YulIf",
                  "src": "21340:55:84"
                },
                {
                  "nativeSrc": "21404:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21404:23:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "21420:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21420:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "21414:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "21414:5:84"
                    },
                    "nativeSrc": "21414:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21414:13:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "21408:2:84",
                      "nodeType": "YulTypedName",
                      "src": "21408:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "21436:41:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21436:41:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "21474:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "21474:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_bytes",
                      "nativeSrc": "21446:27:84",
                      "nodeType": "YulIdentifier",
                      "src": "21446:27:84"
                    },
                    "nativeSrc": "21446:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21446:31:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "21440:2:84",
                      "nodeType": "YulTypedName",
                      "src": "21440:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "21486:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21486:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "21506:2:84",
                        "nodeType": "YulLiteral",
                        "src": "21506:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "21500:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "21500:5:84"
                    },
                    "nativeSrc": "21500:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21500:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "21490:6:84",
                      "nodeType": "YulTypedName",
                      "src": "21490:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "21538:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21538:6:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "21546:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "21546:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "21518:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "21518:19:84"
                    },
                    "nativeSrc": "21518:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21518:31:84"
                  },
                  "nativeSrc": "21518:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21518:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "21565:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21565:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "21573:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "21573:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21558:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "21558:6:84"
                    },
                    "nativeSrc": "21558:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21558:18:84"
                  },
                  "nativeSrc": "21558:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21558:18:84"
                },
                {
                  "body": {
                    "nativeSrc": "21624:16:84",
                    "nodeType": "YulBlock",
                    "src": "21624:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21633:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21633:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21636:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21636:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21626:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21626:6:84"
                          },
                          "nativeSrc": "21626:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "21626:12:84"
                        },
                        "nativeSrc": "21626:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "21626:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "21599:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "21599:6:84"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "21607:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "21607:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "21595:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "21595:3:84"
                            },
                            "nativeSrc": "21595:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "21595:15:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21612:4:84",
                            "nodeType": "YulLiteral",
                            "src": "21612:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21591:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21591:3:84"
                        },
                        "nativeSrc": "21591:26:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21591:26:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "21619:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "21619:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "21588:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "21588:2:84"
                    },
                    "nativeSrc": "21588:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21588:35:84"
                  },
                  "nativeSrc": "21585:55:84",
                  "nodeType": "YulIf",
                  "src": "21585:55:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "21688:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21688:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21696:4:84",
                            "nodeType": "YulLiteral",
                            "src": "21696:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21684:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21684:3:84"
                        },
                        "nativeSrc": "21684:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21684:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "21707:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21707:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21715:4:84",
                            "nodeType": "YulLiteral",
                            "src": "21715:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21703:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21703:3:84"
                        },
                        "nativeSrc": "21703:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21703:17:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "21722:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "21722:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "21649:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "21649:34:84"
                    },
                    "nativeSrc": "21649:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21649:76:84"
                  },
                  "nativeSrc": "21649:76:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "21649:76:84"
                },
                {
                  "nativeSrc": "21734:15:84",
                  "nodeType": "YulAssignment",
                  "src": "21734:15:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "21743:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "21743:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "21734:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "21734:5:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_string_fromMemory",
            "nativeSrc": "21266:489:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "21304:6:84",
                "nodeType": "YulTypedName",
                "src": "21304:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "21312:3:84",
                "nodeType": "YulTypedName",
                "src": "21312:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "21320:5:84",
                "nodeType": "YulTypedName",
                "src": "21320:5:84",
                "type": ""
              }
            ],
            "src": "21266:489:84"
          },
          {
            "body": {
              "nativeSrc": "21851:246:84",
              "nodeType": "YulBlock",
              "src": "21851:246:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "21897:16:84",
                    "nodeType": "YulBlock",
                    "src": "21897:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21906:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21906:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21909:1:84",
                              "nodeType": "YulLiteral",
                              "src": "21909:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21899:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21899:6:84"
                          },
                          "nativeSrc": "21899:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "21899:12:84"
                        },
                        "nativeSrc": "21899:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "21899:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "21872:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "21872:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "21881:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "21881:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "21868:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "21868:3:84"
                        },
                        "nativeSrc": "21868:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "21868:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21893:2:84",
                        "nodeType": "YulLiteral",
                        "src": "21893:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "21864:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "21864:3:84"
                    },
                    "nativeSrc": "21864:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21864:32:84"
                  },
                  "nativeSrc": "21861:52:84",
                  "nodeType": "YulIf",
                  "src": "21861:52:84"
                },
                {
                  "nativeSrc": "21922:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21922:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21942:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "21942:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "21936:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "21936:5:84"
                    },
                    "nativeSrc": "21936:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21936:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "21926:6:84",
                      "nodeType": "YulTypedName",
                      "src": "21926:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "21995:16:84",
                    "nodeType": "YulBlock",
                    "src": "21995:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22004:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22004:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22007:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22007:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21997:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "21997:6:84"
                          },
                          "nativeSrc": "21997:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "21997:12:84"
                        },
                        "nativeSrc": "21997:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "21997:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "21967:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "21967:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21975:18:84",
                        "nodeType": "YulLiteral",
                        "src": "21975:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "21964:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "21964:2:84"
                    },
                    "nativeSrc": "21964:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "21964:30:84"
                  },
                  "nativeSrc": "21961:50:84",
                  "nodeType": "YulIf",
                  "src": "21961:50:84"
                },
                {
                  "nativeSrc": "22020:71:84",
                  "nodeType": "YulAssignment",
                  "src": "22020:71:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22063:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22063:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "22074:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22074:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22059:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22059:3:84"
                        },
                        "nativeSrc": "22059:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22059:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "22083:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "22083:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_fromMemory",
                      "nativeSrc": "22030:28:84",
                      "nodeType": "YulIdentifier",
                      "src": "22030:28:84"
                    },
                    "nativeSrc": "22030:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22030:61:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "22020:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22020:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_memory_ptr_fromMemory",
            "nativeSrc": "21760:337:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "21817:9:84",
                "nodeType": "YulTypedName",
                "src": "21817:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "21828:7:84",
                "nodeType": "YulTypedName",
                "src": "21828:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "21840:6:84",
                "nodeType": "YulTypedName",
                "src": "21840:6:84",
                "type": ""
              }
            ],
            "src": "21760:337:84"
          },
          {
            "body": {
              "nativeSrc": "22251:141:84",
              "nodeType": "YulBlock",
              "src": "22251:141:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22268:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "22268:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "22279:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22279:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22261:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22261:6:84"
                    },
                    "nativeSrc": "22261:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22261:25:84"
                  },
                  "nativeSrc": "22261:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22261:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22306:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22306:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22317:2:84",
                            "nodeType": "YulLiteral",
                            "src": "22317:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22302:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22302:3:84"
                        },
                        "nativeSrc": "22302:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22302:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22322:2:84",
                        "nodeType": "YulLiteral",
                        "src": "22322:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22295:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22295:6:84"
                    },
                    "nativeSrc": "22295:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22295:30:84"
                  },
                  "nativeSrc": "22295:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "22295:30:84"
                },
                {
                  "nativeSrc": "22334:52:84",
                  "nodeType": "YulAssignment",
                  "src": "22334:52:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "22359:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22359:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22371:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22371:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22382:2:84",
                            "nodeType": "YulLiteral",
                            "src": "22382:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22367:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22367:3:84"
                        },
                        "nativeSrc": "22367:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22367:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "22342:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "22342:16:84"
                    },
                    "nativeSrc": "22342:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22342:44:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "22334:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "22334:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "22102:290:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "22212:9:84",
                "nodeType": "YulTypedName",
                "src": "22212:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "22223:6:84",
                "nodeType": "YulTypedName",
                "src": "22223:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "22231:6:84",
                "nodeType": "YulTypedName",
                "src": "22231:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "22242:4:84",
                "nodeType": "YulTypedName",
                "src": "22242:4:84",
                "type": ""
              }
            ],
            "src": "22102:290:84"
          },
          {
            "body": {
              "nativeSrc": "22466:115:84",
              "nodeType": "YulBlock",
              "src": "22466:115:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "22512:16:84",
                    "nodeType": "YulBlock",
                    "src": "22512:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22521:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22521:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22524:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22524:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22514:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22514:6:84"
                          },
                          "nativeSrc": "22514:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "22514:12:84"
                        },
                        "nativeSrc": "22514:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "22514:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "22487:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "22487:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "22496:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "22496:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "22483:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22483:3:84"
                        },
                        "nativeSrc": "22483:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22483:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22508:2:84",
                        "nodeType": "YulLiteral",
                        "src": "22508:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "22479:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22479:3:84"
                    },
                    "nativeSrc": "22479:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22479:32:84"
                  },
                  "nativeSrc": "22476:52:84",
                  "nodeType": "YulIf",
                  "src": "22476:52:84"
                },
                {
                  "nativeSrc": "22537:38:84",
                  "nodeType": "YulAssignment",
                  "src": "22537:38:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22565:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "22565:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint32",
                      "nativeSrc": "22547:17:84",
                      "nodeType": "YulIdentifier",
                      "src": "22547:17:84"
                    },
                    "nativeSrc": "22547:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22547:28:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "22537:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22537:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint32",
            "nativeSrc": "22397:184:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "22432:9:84",
                "nodeType": "YulTypedName",
                "src": "22432:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "22443:7:84",
                "nodeType": "YulTypedName",
                "src": "22443:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "22455:6:84",
                "nodeType": "YulTypedName",
                "src": "22455:6:84",
                "type": ""
              }
            ],
            "src": "22397:184:84"
          },
          {
            "body": {
              "nativeSrc": "22680:427:84",
              "nodeType": "YulBlock",
              "src": "22680:427:84",
              "statements": [
                {
                  "nativeSrc": "22690:51:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22690:51:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "ptr_to_tail",
                        "nativeSrc": "22729:11:84",
                        "nodeType": "YulIdentifier",
                        "src": "22729:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "22716:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "22716:12:84"
                    },
                    "nativeSrc": "22716:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22716:25:84"
                  },
                  "variables": [
                    {
                      "name": "rel_offset_of_tail",
                      "nativeSrc": "22694:18:84",
                      "nodeType": "YulTypedName",
                      "src": "22694:18:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22830:16:84",
                    "nodeType": "YulBlock",
                    "src": "22830:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22839:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22839:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22842:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22842:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22832:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22832:6:84"
                          },
                          "nativeSrc": "22832:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "22832:12:84"
                        },
                        "nativeSrc": "22832:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "22832:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "rel_offset_of_tail",
                            "nativeSrc": "22764:18:84",
                            "nodeType": "YulIdentifier",
                            "src": "22764:18:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "calldatasize",
                                      "nativeSrc": "22792:12:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "22792:12:84"
                                    },
                                    "nativeSrc": "22792:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "22792:14:84"
                                  },
                                  {
                                    "name": "base_ref",
                                    "nativeSrc": "22808:8:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "22808:8:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "22788:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "22788:3:84"
                                },
                                "nativeSrc": "22788:29:84",
                                "nodeType": "YulFunctionCall",
                                "src": "22788:29:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "22823:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "22823:2:84",
                                    "type": "",
                                    "value": "30"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "22819:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "22819:3:84"
                                },
                                "nativeSrc": "22819:7:84",
                                "nodeType": "YulFunctionCall",
                                "src": "22819:7:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "22784:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "22784:3:84"
                            },
                            "nativeSrc": "22784:43:84",
                            "nodeType": "YulFunctionCall",
                            "src": "22784:43:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "22760:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "22760:3:84"
                        },
                        "nativeSrc": "22760:68:84",
                        "nodeType": "YulFunctionCall",
                        "src": "22760:68:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "22753:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22753:6:84"
                    },
                    "nativeSrc": "22753:76:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22753:76:84"
                  },
                  "nativeSrc": "22750:96:84",
                  "nodeType": "YulIf",
                  "src": "22750:96:84"
                },
                {
                  "nativeSrc": "22855:47:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22855:47:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "base_ref",
                        "nativeSrc": "22873:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "22873:8:84"
                      },
                      {
                        "name": "rel_offset_of_tail",
                        "nativeSrc": "22883:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "22883:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "22869:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "22869:3:84"
                    },
                    "nativeSrc": "22869:33:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22869:33:84"
                  },
                  "variables": [
                    {
                      "name": "addr_1",
                      "nativeSrc": "22859:6:84",
                      "nodeType": "YulTypedName",
                      "src": "22859:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "22911:30:84",
                  "nodeType": "YulAssignment",
                  "src": "22911:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "addr_1",
                        "nativeSrc": "22934:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22934:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "22921:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "22921:12:84"
                    },
                    "nativeSrc": "22921:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22921:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "22911:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "22911:6:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22984:16:84",
                    "nodeType": "YulBlock",
                    "src": "22984:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22993:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22993:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22996:1:84",
                              "nodeType": "YulLiteral",
                              "src": "22996:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22986:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "22986:6:84"
                          },
                          "nativeSrc": "22986:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "22986:12:84"
                        },
                        "nativeSrc": "22986:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "22986:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "22956:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "22956:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22964:18:84",
                        "nodeType": "YulLiteral",
                        "src": "22964:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "22953:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "22953:2:84"
                    },
                    "nativeSrc": "22953:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "22953:30:84"
                  },
                  "nativeSrc": "22950:50:84",
                  "nodeType": "YulIf",
                  "src": "22950:50:84"
                },
                {
                  "nativeSrc": "23009:25:84",
                  "nodeType": "YulAssignment",
                  "src": "23009:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "addr_1",
                        "nativeSrc": "23021:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23021:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23029:4:84",
                        "nodeType": "YulLiteral",
                        "src": "23029:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23017:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23017:3:84"
                    },
                    "nativeSrc": "23017:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23017:17:84"
                  },
                  "variableNames": [
                    {
                      "name": "addr",
                      "nativeSrc": "23009:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "23009:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "23085:16:84",
                    "nodeType": "YulBlock",
                    "src": "23085:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23094:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23094:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23097:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23097:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "23087:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23087:6:84"
                          },
                          "nativeSrc": "23087:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23087:12:84"
                        },
                        "nativeSrc": "23087:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "23087:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "addr",
                        "nativeSrc": "23050:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "23050:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "calldatasize",
                              "nativeSrc": "23060:12:84",
                              "nodeType": "YulIdentifier",
                              "src": "23060:12:84"
                            },
                            "nativeSrc": "23060:14:84",
                            "nodeType": "YulFunctionCall",
                            "src": "23060:14:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "23076:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23076:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "23056:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "23056:3:84"
                        },
                        "nativeSrc": "23056:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "23056:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "sgt",
                      "nativeSrc": "23046:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23046:3:84"
                    },
                    "nativeSrc": "23046:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23046:38:84"
                  },
                  "nativeSrc": "23043:58:84",
                  "nodeType": "YulIf",
                  "src": "23043:58:84"
                }
              ]
            },
            "name": "access_calldata_tail_t_bytes_calldata_ptr",
            "nativeSrc": "22586:521:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "base_ref",
                "nativeSrc": "22637:8:84",
                "nodeType": "YulTypedName",
                "src": "22637:8:84",
                "type": ""
              },
              {
                "name": "ptr_to_tail",
                "nativeSrc": "22647:11:84",
                "nodeType": "YulTypedName",
                "src": "22647:11:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "addr",
                "nativeSrc": "22663:4:84",
                "nodeType": "YulTypedName",
                "src": "22663:4:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "22669:6:84",
                "nodeType": "YulTypedName",
                "src": "22669:6:84",
                "type": ""
              }
            ],
            "src": "22586:521:84"
          },
          {
            "body": {
              "nativeSrc": "23352:233:84",
              "nodeType": "YulBlock",
              "src": "23352:233:84",
              "statements": [
                {
                  "nativeSrc": "23362:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23362:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "23382:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23382:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "23376:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "23376:5:84"
                    },
                    "nativeSrc": "23376:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23376:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "23366:6:84",
                      "nodeType": "YulTypedName",
                      "src": "23366:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "23437:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23437:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23445:4:84",
                            "nodeType": "YulLiteral",
                            "src": "23445:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23433:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "23433:3:84"
                        },
                        "nativeSrc": "23433:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "23433:17:84"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "23452:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "23452:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "23457:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23457:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "23398:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "23398:34:84"
                    },
                    "nativeSrc": "23398:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23398:66:84"
                  },
                  "nativeSrc": "23398:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "23398:66:84"
                },
                {
                  "nativeSrc": "23473:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23473:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "23490:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "23490:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "23495:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "23495:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23486:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23486:3:84"
                    },
                    "nativeSrc": "23486:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23486:16:84"
                  },
                  "variables": [
                    {
                      "name": "end_1",
                      "nativeSrc": "23477:5:84",
                      "nodeType": "YulTypedName",
                      "src": "23477:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "23518:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "23518:5:84"
                      },
                      {
                        "hexValue": "3a20696e76616c6964207265706f72742064617461",
                        "kind": "string",
                        "nativeSrc": "23525:23:84",
                        "nodeType": "YulLiteral",
                        "src": "23525:23:84",
                        "type": "",
                        "value": ": invalid report data"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23511:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23511:6:84"
                    },
                    "nativeSrc": "23511:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23511:38:84"
                  },
                  "nativeSrc": "23511:38:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "23511:38:84"
                },
                {
                  "nativeSrc": "23558:21:84",
                  "nodeType": "YulAssignment",
                  "src": "23558:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "23569:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "23569:5:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23576:2:84",
                        "nodeType": "YulLiteral",
                        "src": "23576:2:84",
                        "type": "",
                        "value": "21"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23565:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23565:3:84"
                    },
                    "nativeSrc": "23565:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23565:14:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "23558:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23558:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_18e93b6a9ca9a828871ff24f0fc4025c67d39029bf31e6664071c37d5dc700dd__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "23112:473:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "23328:3:84",
                "nodeType": "YulTypedName",
                "src": "23328:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "23333:6:84",
                "nodeType": "YulTypedName",
                "src": "23333:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "23344:3:84",
                "nodeType": "YulTypedName",
                "src": "23344:3:84",
                "type": ""
              }
            ],
            "src": "23112:473:84"
          },
          {
            "body": {
              "nativeSrc": "23645:325:84",
              "nodeType": "YulBlock",
              "src": "23645:325:84",
              "statements": [
                {
                  "nativeSrc": "23655:22:84",
                  "nodeType": "YulAssignment",
                  "src": "23655:22:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "23669:1:84",
                        "nodeType": "YulLiteral",
                        "src": "23669:1:84",
                        "type": "",
                        "value": "1"
                      },
                      {
                        "name": "data",
                        "nativeSrc": "23672:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "23672:4:84"
                      }
                    ],
                    "functionName": {
                      "name": "shr",
                      "nativeSrc": "23665:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23665:3:84"
                    },
                    "nativeSrc": "23665:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23665:12:84"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "23655:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23655:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "23686:38:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23686:38:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "23716:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "23716:4:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23722:1:84",
                        "nodeType": "YulLiteral",
                        "src": "23722:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "23712:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "23712:3:84"
                    },
                    "nativeSrc": "23712:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23712:12:84"
                  },
                  "variables": [
                    {
                      "name": "outOfPlaceEncoding",
                      "nativeSrc": "23690:18:84",
                      "nodeType": "YulTypedName",
                      "src": "23690:18:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "23763:31:84",
                    "nodeType": "YulBlock",
                    "src": "23763:31:84",
                    "statements": [
                      {
                        "nativeSrc": "23765:27:84",
                        "nodeType": "YulAssignment",
                        "src": "23765:27:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "length",
                              "nativeSrc": "23779:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "23779:6:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23787:4:84",
                              "nodeType": "YulLiteral",
                              "src": "23787:4:84",
                              "type": "",
                              "value": "0x7f"
                            }
                          ],
                          "functionName": {
                            "name": "and",
                            "nativeSrc": "23775:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "23775:3:84"
                          },
                          "nativeSrc": "23775:17:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23775:17:84"
                        },
                        "variableNames": [
                          {
                            "name": "length",
                            "nativeSrc": "23765:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23765:6:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "23743:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "23743:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "23736:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "23736:6:84"
                    },
                    "nativeSrc": "23736:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23736:26:84"
                  },
                  "nativeSrc": "23733:61:84",
                  "nodeType": "YulIf",
                  "src": "23733:61:84"
                },
                {
                  "body": {
                    "nativeSrc": "23853:111:84",
                    "nodeType": "YulBlock",
                    "src": "23853:111:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23874:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23874:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "23881:3:84",
                                  "nodeType": "YulLiteral",
                                  "src": "23881:3:84",
                                  "type": "",
                                  "value": "224"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "23886:10:84",
                                  "nodeType": "YulLiteral",
                                  "src": "23886:10:84",
                                  "type": "",
                                  "value": "0x4e487b71"
                                }
                              ],
                              "functionName": {
                                "name": "shl",
                                "nativeSrc": "23877:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "23877:3:84"
                              },
                              "nativeSrc": "23877:20:84",
                              "nodeType": "YulFunctionCall",
                              "src": "23877:20:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "23867:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23867:6:84"
                          },
                          "nativeSrc": "23867:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23867:31:84"
                        },
                        "nativeSrc": "23867:31:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "23867:31:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23918:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23918:1:84",
                              "type": "",
                              "value": "4"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23921:4:84",
                              "nodeType": "YulLiteral",
                              "src": "23921:4:84",
                              "type": "",
                              "value": "0x22"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "23911:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23911:6:84"
                          },
                          "nativeSrc": "23911:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23911:15:84"
                        },
                        "nativeSrc": "23911:15:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "23911:15:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23946:1:84",
                              "nodeType": "YulLiteral",
                              "src": "23946:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23949:4:84",
                              "nodeType": "YulLiteral",
                              "src": "23949:4:84",
                              "type": "",
                              "value": "0x24"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "23939:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23939:6:84"
                          },
                          "nativeSrc": "23939:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "23939:15:84"
                        },
                        "nativeSrc": "23939:15:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "23939:15:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "23809:18:84",
                        "nodeType": "YulIdentifier",
                        "src": "23809:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "length",
                            "nativeSrc": "23832:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "23832:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23840:2:84",
                            "nodeType": "YulLiteral",
                            "src": "23840:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "23829:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "23829:2:84"
                        },
                        "nativeSrc": "23829:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "23829:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "23806:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "23806:2:84"
                    },
                    "nativeSrc": "23806:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "23806:38:84"
                  },
                  "nativeSrc": "23803:161:84",
                  "nodeType": "YulIf",
                  "src": "23803:161:84"
                }
              ]
            },
            "name": "extract_byte_array_length",
            "nativeSrc": "23590:380:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "data",
                "nativeSrc": "23625:4:84",
                "nodeType": "YulTypedName",
                "src": "23625:4:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "length",
                "nativeSrc": "23634:6:84",
                "nodeType": "YulTypedName",
                "src": "23634:6:84",
                "type": ""
              }
            ],
            "src": "23590:380:84"
          },
          {
            "body": {
              "nativeSrc": "24126:507:84",
              "nodeType": "YulBlock",
              "src": "24126:507:84",
              "statements": [
                {
                  "nativeSrc": "24136:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24136:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "24146:2:84",
                    "nodeType": "YulLiteral",
                    "src": "24146:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "24140:2:84",
                      "nodeType": "YulTypedName",
                      "src": "24140:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24157:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24157:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24175:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "24175:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24186:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24186:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24171:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24171:3:84"
                    },
                    "nativeSrc": "24171:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24171:18:84"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "24161:6:84",
                      "nodeType": "YulTypedName",
                      "src": "24161:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24205:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "24205:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24216:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24216:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24198:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24198:6:84"
                    },
                    "nativeSrc": "24198:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24198:21:84"
                  },
                  "nativeSrc": "24198:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24198:21:84"
                },
                {
                  "nativeSrc": "24228:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24228:17:84",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "24239:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "24239:6:84"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "24232:3:84",
                      "nodeType": "YulTypedName",
                      "src": "24232:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24254:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24254:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "24274:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24274:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "24268:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "24268:5:84"
                    },
                    "nativeSrc": "24268:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24268:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "24258:6:84",
                      "nodeType": "YulTypedName",
                      "src": "24258:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "24297:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24297:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "24305:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24305:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24290:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24290:6:84"
                    },
                    "nativeSrc": "24290:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24290:22:84"
                  },
                  "nativeSrc": "24290:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "24290:22:84"
                },
                {
                  "nativeSrc": "24321:25:84",
                  "nodeType": "YulAssignment",
                  "src": "24321:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24332:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "24332:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24343:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24343:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24328:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24328:3:84"
                    },
                    "nativeSrc": "24328:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24328:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "24321:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24321:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "24355:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24355:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "24373:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24373:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24381:2:84",
                        "nodeType": "YulLiteral",
                        "src": "24381:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24369:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "24369:3:84"
                    },
                    "nativeSrc": "24369:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24369:15:84"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "24359:6:84",
                      "nodeType": "YulTypedName",
                      "src": "24359:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "24393:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24393:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "24402:1:84",
                    "nodeType": "YulLiteral",
                    "src": "24402:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "24397:1:84",
                      "nodeType": "YulTypedName",
                      "src": "24397:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "24461:146:84",
                    "nodeType": "YulBlock",
                    "src": "24461:146:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "24482:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "24482:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "srcPtr",
                                      "nativeSrc": "24497:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "24497:6:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "mload",
                                    "nativeSrc": "24491:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "24491:5:84"
                                  },
                                  "nativeSrc": "24491:13:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "24491:13:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "24514:3:84",
                                          "nodeType": "YulLiteral",
                                          "src": "24514:3:84",
                                          "type": "",
                                          "value": "160"
                                        },
                                        {
                                          "kind": "number",
                                          "nativeSrc": "24519:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "24519:1:84",
                                          "type": "",
                                          "value": "1"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "24510:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "24510:3:84"
                                      },
                                      "nativeSrc": "24510:11:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "24510:11:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "24523:1:84",
                                      "nodeType": "YulLiteral",
                                      "src": "24523:1:84",
                                      "type": "",
                                      "value": "1"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "24506:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "24506:3:84"
                                  },
                                  "nativeSrc": "24506:19:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "24506:19:84"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "24487:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "24487:3:84"
                              },
                              "nativeSrc": "24487:39:84",
                              "nodeType": "YulFunctionCall",
                              "src": "24487:39:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "24475:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24475:6:84"
                          },
                          "nativeSrc": "24475:52:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24475:52:84"
                        },
                        "nativeSrc": "24475:52:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "24475:52:84"
                      },
                      {
                        "nativeSrc": "24540:19:84",
                        "nodeType": "YulAssignment",
                        "src": "24540:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "24551:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "24551:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "24556:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "24556:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "24547:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "24547:3:84"
                          },
                          "nativeSrc": "24547:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24547:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "24540:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "24540:3:84"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "24572:25:84",
                        "nodeType": "YulAssignment",
                        "src": "24572:25:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "24586:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "24586:6:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "24594:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "24594:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "24582:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "24582:3:84"
                          },
                          "nativeSrc": "24582:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24582:15:84"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "24572:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24572:6:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "24423:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "24423:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "24426:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "24426:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "24420:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "24420:2:84"
                    },
                    "nativeSrc": "24420:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24420:13:84"
                  },
                  "nativeSrc": "24412:195:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "24434:18:84",
                    "nodeType": "YulBlock",
                    "src": "24434:18:84",
                    "statements": [
                      {
                        "nativeSrc": "24436:14:84",
                        "nodeType": "YulAssignment",
                        "src": "24436:14:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "24445:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "24445:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24448:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24448:1:84",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "24441:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "24441:3:84"
                          },
                          "nativeSrc": "24441:9:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24441:9:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "24436:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "24436:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "24416:3:84",
                    "nodeType": "YulBlock",
                    "src": "24416:3:84",
                    "statements": []
                  },
                  "src": "24412:195:84"
                },
                {
                  "nativeSrc": "24616:11:84",
                  "nodeType": "YulAssignment",
                  "src": "24616:11:84",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "24624:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "24624:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "24616:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "24616:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "23975:658:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "24095:9:84",
                "nodeType": "YulTypedName",
                "src": "24095:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "24106:6:84",
                "nodeType": "YulTypedName",
                "src": "24106:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "24117:4:84",
                "nodeType": "YulTypedName",
                "src": "24117:4:84",
                "type": ""
              }
            ],
            "src": "23975:658:84"
          },
          {
            "body": {
              "nativeSrc": "24681:71:84",
              "nodeType": "YulBlock",
              "src": "24681:71:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "24730:16:84",
                    "nodeType": "YulBlock",
                    "src": "24730:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24739:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24739:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24742:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24742:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24732:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24732:6:84"
                          },
                          "nativeSrc": "24732:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24732:12:84"
                        },
                        "nativeSrc": "24732:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "24732:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "24704:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "24704:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "24715:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "24715:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "24722:4:84",
                                "nodeType": "YulLiteral",
                                "src": "24722:4:84",
                                "type": "",
                                "value": "0xff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "24711:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "24711:3:84"
                            },
                            "nativeSrc": "24711:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "24711:16:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "24701:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "24701:2:84"
                        },
                        "nativeSrc": "24701:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24701:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "24694:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24694:6:84"
                    },
                    "nativeSrc": "24694:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24694:35:84"
                  },
                  "nativeSrc": "24691:55:84",
                  "nodeType": "YulIf",
                  "src": "24691:55:84"
                }
              ]
            },
            "name": "validator_revert_uint8",
            "nativeSrc": "24638:114:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "24670:5:84",
                "nodeType": "YulTypedName",
                "src": "24670:5:84",
                "type": ""
              }
            ],
            "src": "24638:114:84"
          },
          {
            "body": {
              "nativeSrc": "24801:85:84",
              "nodeType": "YulBlock",
              "src": "24801:85:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "24864:16:84",
                    "nodeType": "YulBlock",
                    "src": "24864:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24873:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24873:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24876:1:84",
                              "nodeType": "YulLiteral",
                              "src": "24876:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24866:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "24866:6:84"
                          },
                          "nativeSrc": "24866:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "24866:12:84"
                        },
                        "nativeSrc": "24866:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "24866:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "24824:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "24824:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "24835:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "24835:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "24842:18:84",
                                "nodeType": "YulLiteral",
                                "src": "24842:18:84",
                                "type": "",
                                "value": "0xffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "24831:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "24831:3:84"
                            },
                            "nativeSrc": "24831:30:84",
                            "nodeType": "YulFunctionCall",
                            "src": "24831:30:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "24821:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "24821:2:84"
                        },
                        "nativeSrc": "24821:41:84",
                        "nodeType": "YulFunctionCall",
                        "src": "24821:41:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "24814:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "24814:6:84"
                    },
                    "nativeSrc": "24814:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "24814:49:84"
                  },
                  "nativeSrc": "24811:69:84",
                  "nodeType": "YulIf",
                  "src": "24811:69:84"
                }
              ]
            },
            "name": "validator_revert_uint64",
            "nativeSrc": "24757:129:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "24790:5:84",
                "nodeType": "YulTypedName",
                "src": "24790:5:84",
                "type": ""
              }
            ],
            "src": "24757:129:84"
          },
          {
            "body": {
              "nativeSrc": "25104:416:84",
              "nodeType": "YulBlock",
              "src": "25104:416:84",
              "statements": [
                {
                  "nativeSrc": "25114:27:84",
                  "nodeType": "YulAssignment",
                  "src": "25114:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25126:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "25126:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25137:3:84",
                        "nodeType": "YulLiteral",
                        "src": "25137:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25122:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "25122:3:84"
                    },
                    "nativeSrc": "25122:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25122:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "25114:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "25114:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25157:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "25157:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "25168:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "25168:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25150:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25150:6:84"
                    },
                    "nativeSrc": "25150:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25150:25:84"
                  },
                  "nativeSrc": "25150:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25150:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25195:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25195:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25206:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25206:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25191:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25191:3:84"
                        },
                        "nativeSrc": "25191:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25191:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "25211:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "25211:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25184:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25184:6:84"
                    },
                    "nativeSrc": "25184:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25184:34:84"
                  },
                  "nativeSrc": "25184:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25184:34:84"
                },
                {
                  "nativeSrc": "25227:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25227:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "25253:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "25253:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "25240:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "25240:12:84"
                    },
                    "nativeSrc": "25240:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25240:20:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "25231:5:84",
                      "nodeType": "YulTypedName",
                      "src": "25231:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "25292:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "25292:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "25269:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "25269:22:84"
                    },
                    "nativeSrc": "25269:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25269:29:84"
                  },
                  "nativeSrc": "25269:29:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25269:29:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25318:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25318:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25329:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25329:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25314:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25314:3:84"
                        },
                        "nativeSrc": "25314:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25314:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "25338:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "25338:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25345:4:84",
                            "nodeType": "YulLiteral",
                            "src": "25345:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "25334:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25334:3:84"
                        },
                        "nativeSrc": "25334:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25334:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25307:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25307:6:84"
                    },
                    "nativeSrc": "25307:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25307:44:84"
                  },
                  "nativeSrc": "25307:44:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25307:44:84"
                },
                {
                  "nativeSrc": "25360:44:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25360:44:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "25392:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25392:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25400:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25400:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25388:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25388:3:84"
                        },
                        "nativeSrc": "25388:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25388:15:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "25375:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "25375:12:84"
                    },
                    "nativeSrc": "25375:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25375:29:84"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "25364:7:84",
                      "nodeType": "YulTypedName",
                      "src": "25364:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "25437:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "25437:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "25413:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "25413:23:84"
                    },
                    "nativeSrc": "25413:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25413:32:84"
                  },
                  "nativeSrc": "25413:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25413:32:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25465:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25465:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25476:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25476:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25461:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25461:3:84"
                        },
                        "nativeSrc": "25461:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25461:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value_1",
                            "nativeSrc": "25485:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "25485:7:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25494:18:84",
                            "nodeType": "YulLiteral",
                            "src": "25494:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "25481:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25481:3:84"
                        },
                        "nativeSrc": "25481:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25481:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25454:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25454:6:84"
                    },
                    "nativeSrc": "25454:60:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25454:60:84"
                  },
                  "nativeSrc": "25454:60:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25454:60:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256_t_struct$_RadonSLA_$23503_calldata_ptr__to_t_uint256_t_uint256_t_struct$_RadonSLA_$23503_memory_ptr__fromStack_reversed",
            "nativeSrc": "24891:629:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "25057:9:84",
                "nodeType": "YulTypedName",
                "src": "25057:9:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "25068:6:84",
                "nodeType": "YulTypedName",
                "src": "25068:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "25076:6:84",
                "nodeType": "YulTypedName",
                "src": "25076:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "25084:6:84",
                "nodeType": "YulTypedName",
                "src": "25084:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "25095:4:84",
                "nodeType": "YulTypedName",
                "src": "25095:4:84",
                "type": ""
              }
            ],
            "src": "24891:629:84"
          },
          {
            "body": {
              "nativeSrc": "25640:357:84",
              "nodeType": "YulBlock",
              "src": "25640:357:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "25686:16:84",
                    "nodeType": "YulBlock",
                    "src": "25686:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "25695:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25695:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25698:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25698:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "25688:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25688:6:84"
                          },
                          "nativeSrc": "25688:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "25688:12:84"
                        },
                        "nativeSrc": "25688:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "25688:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "25661:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "25661:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "25670:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25670:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "25657:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25657:3:84"
                        },
                        "nativeSrc": "25657:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25657:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25682:2:84",
                        "nodeType": "YulLiteral",
                        "src": "25682:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "25653:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "25653:3:84"
                    },
                    "nativeSrc": "25653:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25653:32:84"
                  },
                  "nativeSrc": "25650:52:84",
                  "nodeType": "YulIf",
                  "src": "25650:52:84"
                },
                {
                  "nativeSrc": "25711:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25711:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25730:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "25730:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "25724:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "25724:5:84"
                    },
                    "nativeSrc": "25724:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25724:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "25715:5:84",
                      "nodeType": "YulTypedName",
                      "src": "25715:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "25774:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "25774:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "25749:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "25749:24:84"
                    },
                    "nativeSrc": "25749:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25749:31:84"
                  },
                  "nativeSrc": "25749:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "25749:31:84"
                },
                {
                  "nativeSrc": "25789:15:84",
                  "nodeType": "YulAssignment",
                  "src": "25789:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "25799:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "25799:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "25789:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25789:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "25813:39:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "25813:39:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25837:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25837:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25848:2:84",
                            "nodeType": "YulLiteral",
                            "src": "25848:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25833:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25833:3:84"
                        },
                        "nativeSrc": "25833:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25833:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "25827:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "25827:5:84"
                    },
                    "nativeSrc": "25827:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25827:25:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "25817:6:84",
                      "nodeType": "YulTypedName",
                      "src": "25817:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "25895:16:84",
                    "nodeType": "YulBlock",
                    "src": "25895:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "25904:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25904:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25907:1:84",
                              "nodeType": "YulLiteral",
                              "src": "25907:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "25897:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25897:6:84"
                          },
                          "nativeSrc": "25897:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "25897:12:84"
                        },
                        "nativeSrc": "25897:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "25897:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "25867:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "25867:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25875:18:84",
                        "nodeType": "YulLiteral",
                        "src": "25875:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "25864:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "25864:2:84"
                    },
                    "nativeSrc": "25864:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25864:30:84"
                  },
                  "nativeSrc": "25861:50:84",
                  "nodeType": "YulIf",
                  "src": "25861:50:84"
                },
                {
                  "nativeSrc": "25920:71:84",
                  "nodeType": "YulAssignment",
                  "src": "25920:71:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25963:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "25963:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "25974:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "25974:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25959:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "25959:3:84"
                        },
                        "nativeSrc": "25959:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "25959:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "25983:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "25983:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_fromMemory",
                      "nativeSrc": "25930:28:84",
                      "nodeType": "YulIdentifier",
                      "src": "25930:28:84"
                    },
                    "nativeSrc": "25930:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "25930:61:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "25920:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "25920:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address_payablet_bytes_memory_ptr_fromMemory",
            "nativeSrc": "25525:472:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "25598:9:84",
                "nodeType": "YulTypedName",
                "src": "25598:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "25609:7:84",
                "nodeType": "YulTypedName",
                "src": "25609:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "25621:6:84",
                "nodeType": "YulTypedName",
                "src": "25621:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "25629:6:84",
                "nodeType": "YulTypedName",
                "src": "25629:6:84",
                "type": ""
              }
            ],
            "src": "25525:472:84"
          },
          {
            "body": {
              "nativeSrc": "26108:912:84",
              "nodeType": "YulBlock",
              "src": "26108:912:84",
              "statements": [
                {
                  "nativeSrc": "26118:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26118:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "26128:2:84",
                    "nodeType": "YulLiteral",
                    "src": "26128:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "26122:2:84",
                      "nodeType": "YulTypedName",
                      "src": "26122:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26175:16:84",
                    "nodeType": "YulBlock",
                    "src": "26175:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26184:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26184:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26187:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26187:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26177:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26177:6:84"
                          },
                          "nativeSrc": "26177:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26177:12:84"
                        },
                        "nativeSrc": "26177:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26177:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "26150:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "26150:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "26159:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "26159:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "26146:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26146:3:84"
                        },
                        "nativeSrc": "26146:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26146:23:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "26171:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26171:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "26142:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26142:3:84"
                    },
                    "nativeSrc": "26142:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26142:32:84"
                  },
                  "nativeSrc": "26139:52:84",
                  "nodeType": "YulIf",
                  "src": "26139:52:84"
                },
                {
                  "nativeSrc": "26200:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26200:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26220:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "26220:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26214:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "26214:5:84"
                    },
                    "nativeSrc": "26214:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26214:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "26204:6:84",
                      "nodeType": "YulTypedName",
                      "src": "26204:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26273:16:84",
                    "nodeType": "YulBlock",
                    "src": "26273:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26282:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26282:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26285:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26285:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26275:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26275:6:84"
                          },
                          "nativeSrc": "26275:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26275:12:84"
                        },
                        "nativeSrc": "26275:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26275:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "26245:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26245:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26253:18:84",
                        "nodeType": "YulLiteral",
                        "src": "26253:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "26242:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "26242:2:84"
                    },
                    "nativeSrc": "26242:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26242:30:84"
                  },
                  "nativeSrc": "26239:50:84",
                  "nodeType": "YulIf",
                  "src": "26239:50:84"
                },
                {
                  "nativeSrc": "26298:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26298:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26312:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "26312:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "26323:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26323:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26308:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26308:3:84"
                    },
                    "nativeSrc": "26308:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26308:22:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "26302:2:84",
                      "nodeType": "YulTypedName",
                      "src": "26302:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26378:16:84",
                    "nodeType": "YulBlock",
                    "src": "26378:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26387:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26387:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26390:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26390:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26380:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26380:6:84"
                          },
                          "nativeSrc": "26380:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26380:12:84"
                        },
                        "nativeSrc": "26380:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26380:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "26357:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "26357:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "26361:4:84",
                                "nodeType": "YulLiteral",
                                "src": "26361:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "26353:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26353:3:84"
                            },
                            "nativeSrc": "26353:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "26353:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "26368:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "26368:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "26349:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26349:3:84"
                        },
                        "nativeSrc": "26349:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26349:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "26342:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "26342:6:84"
                    },
                    "nativeSrc": "26342:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26342:35:84"
                  },
                  "nativeSrc": "26339:55:84",
                  "nodeType": "YulIf",
                  "src": "26339:55:84"
                },
                {
                  "nativeSrc": "26403:19:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26403:19:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "26419:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26419:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26413:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "26413:5:84"
                    },
                    "nativeSrc": "26413:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26413:9:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "26407:2:84",
                      "nodeType": "YulTypedName",
                      "src": "26407:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "26431:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26431:53:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_3",
                        "nativeSrc": "26481:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26481:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_array_address_dyn",
                      "nativeSrc": "26441:39:84",
                      "nodeType": "YulIdentifier",
                      "src": "26441:39:84"
                    },
                    "nativeSrc": "26441:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26441:43:84"
                  },
                  "variables": [
                    {
                      "name": "_4",
                      "nativeSrc": "26435:2:84",
                      "nodeType": "YulTypedName",
                      "src": "26435:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "26493:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26493:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "26513:2:84",
                        "nodeType": "YulLiteral",
                        "src": "26513:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26507:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "26507:5:84"
                    },
                    "nativeSrc": "26507:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26507:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "26497:6:84",
                      "nodeType": "YulTypedName",
                      "src": "26497:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "26545:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26545:6:84"
                      },
                      {
                        "name": "_4",
                        "nativeSrc": "26553:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26553:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "26525:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "26525:19:84"
                    },
                    "nativeSrc": "26525:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26525:31:84"
                  },
                  "nativeSrc": "26525:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "26525:31:84"
                },
                {
                  "nativeSrc": "26565:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26565:17:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "26576:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "26576:6:84"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "26569:3:84",
                      "nodeType": "YulTypedName",
                      "src": "26569:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "26598:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26598:6:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "26606:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26606:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26591:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "26591:6:84"
                    },
                    "nativeSrc": "26591:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26591:18:84"
                  },
                  "nativeSrc": "26591:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "26591:18:84"
                },
                {
                  "nativeSrc": "26618:22:84",
                  "nodeType": "YulAssignment",
                  "src": "26618:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "26629:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26629:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "26637:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26637:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26625:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26625:3:84"
                    },
                    "nativeSrc": "26625:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26625:15:84"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "26618:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26618:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "26649:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26649:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "26671:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "26671:2:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "26679:1:84",
                                "nodeType": "YulLiteral",
                                "src": "26679:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "_3",
                                "nativeSrc": "26682:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "26682:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "26675:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26675:3:84"
                            },
                            "nativeSrc": "26675:10:84",
                            "nodeType": "YulFunctionCall",
                            "src": "26675:10:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26667:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "26667:3:84"
                        },
                        "nativeSrc": "26667:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "26667:19:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "26688:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26688:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26663:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26663:3:84"
                    },
                    "nativeSrc": "26663:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26663:28:84"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "26653:6:84",
                      "nodeType": "YulTypedName",
                      "src": "26653:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26723:16:84",
                    "nodeType": "YulBlock",
                    "src": "26723:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26732:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26732:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26735:1:84",
                              "nodeType": "YulLiteral",
                              "src": "26735:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26725:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26725:6:84"
                          },
                          "nativeSrc": "26725:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26725:12:84"
                        },
                        "nativeSrc": "26725:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26725:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "26706:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26706:6:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "26714:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "26714:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "26703:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "26703:2:84"
                    },
                    "nativeSrc": "26703:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26703:19:84"
                  },
                  "nativeSrc": "26700:39:84",
                  "nodeType": "YulIf",
                  "src": "26700:39:84"
                },
                {
                  "nativeSrc": "26748:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26748:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "26763:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26763:2:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "26767:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "26767:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26759:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "26759:3:84"
                    },
                    "nativeSrc": "26759:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26759:11:84"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "26752:3:84",
                      "nodeType": "YulTypedName",
                      "src": "26752:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26835:154:84",
                    "nodeType": "YulBlock",
                    "src": "26835:154:84",
                    "statements": [
                      {
                        "nativeSrc": "26849:23:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "26849:23:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "26868:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26868:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "26862:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "26862:5:84"
                          },
                          "nativeSrc": "26862:10:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26862:10:84"
                        },
                        "variables": [
                          {
                            "name": "value",
                            "nativeSrc": "26853:5:84",
                            "nodeType": "YulTypedName",
                            "src": "26853:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "value",
                              "nativeSrc": "26910:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "26910:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "validator_revert_address",
                            "nativeSrc": "26885:24:84",
                            "nodeType": "YulIdentifier",
                            "src": "26885:24:84"
                          },
                          "nativeSrc": "26885:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26885:31:84"
                        },
                        "nativeSrc": "26885:31:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26885:31:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "26936:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26936:3:84"
                            },
                            {
                              "name": "value",
                              "nativeSrc": "26941:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "26941:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "26929:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "26929:6:84"
                          },
                          "nativeSrc": "26929:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26929:18:84"
                        },
                        "nativeSrc": "26929:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "26929:18:84"
                      },
                      {
                        "nativeSrc": "26960:19:84",
                        "nodeType": "YulAssignment",
                        "src": "26960:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "26971:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26971:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "26976:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "26976:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "26967:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "26967:3:84"
                          },
                          "nativeSrc": "26967:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26967:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "26960:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "26960:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "26790:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "26790:3:84"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "26795:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "26795:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "26787:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "26787:2:84"
                    },
                    "nativeSrc": "26787:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "26787:15:84"
                  },
                  "nativeSrc": "26779:210:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "26803:23:84",
                    "nodeType": "YulBlock",
                    "src": "26803:23:84",
                    "statements": [
                      {
                        "nativeSrc": "26805:19:84",
                        "nodeType": "YulAssignment",
                        "src": "26805:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "26816:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "26816:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "26821:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "26821:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "26812:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "26812:3:84"
                          },
                          "nativeSrc": "26812:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "26812:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "26805:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "26805:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "26783:3:84",
                    "nodeType": "YulBlock",
                    "src": "26783:3:84",
                    "statements": []
                  },
                  "src": "26779:210:84"
                },
                {
                  "nativeSrc": "26998:16:84",
                  "nodeType": "YulAssignment",
                  "src": "26998:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "27008:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "27008:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "26998:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "26998:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory",
            "nativeSrc": "26002:1018:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "26074:9:84",
                "nodeType": "YulTypedName",
                "src": "26074:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "26085:7:84",
                "nodeType": "YulTypedName",
                "src": "26085:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "26097:6:84",
                "nodeType": "YulTypedName",
                "src": "26097:6:84",
                "type": ""
              }
            ],
            "src": "26002:1018:84"
          },
          {
            "body": {
              "nativeSrc": "27105:210:84",
              "nodeType": "YulBlock",
              "src": "27105:210:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "27151:16:84",
                    "nodeType": "YulBlock",
                    "src": "27151:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27160:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27160:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27163:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27163:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27153:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "27153:6:84"
                          },
                          "nativeSrc": "27153:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27153:12:84"
                        },
                        "nativeSrc": "27153:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "27153:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "27126:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "27126:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "27135:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "27135:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "27122:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "27122:3:84"
                        },
                        "nativeSrc": "27122:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "27122:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27147:2:84",
                        "nodeType": "YulLiteral",
                        "src": "27147:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "27118:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27118:3:84"
                    },
                    "nativeSrc": "27118:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27118:32:84"
                  },
                  "nativeSrc": "27115:52:84",
                  "nodeType": "YulIf",
                  "src": "27115:52:84"
                },
                {
                  "nativeSrc": "27176:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27176:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "27195:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "27195:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "27189:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "27189:5:84"
                    },
                    "nativeSrc": "27189:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27189:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "27180:5:84",
                      "nodeType": "YulTypedName",
                      "src": "27180:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "27269:16:84",
                    "nodeType": "YulBlock",
                    "src": "27269:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27278:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27278:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27281:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27281:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27271:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "27271:6:84"
                          },
                          "nativeSrc": "27271:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27271:12:84"
                        },
                        "nativeSrc": "27271:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "27271:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "27227:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "27227:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "27238:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "27238:5:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "27249:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "27249:3:84",
                                    "type": "",
                                    "value": "224"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "27254:10:84",
                                    "nodeType": "YulLiteral",
                                    "src": "27254:10:84",
                                    "type": "",
                                    "value": "0xffffffff"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "27245:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "27245:3:84"
                                },
                                "nativeSrc": "27245:20:84",
                                "nodeType": "YulFunctionCall",
                                "src": "27245:20:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "27234:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "27234:3:84"
                            },
                            "nativeSrc": "27234:32:84",
                            "nodeType": "YulFunctionCall",
                            "src": "27234:32:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "27224:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "27224:2:84"
                        },
                        "nativeSrc": "27224:43:84",
                        "nodeType": "YulFunctionCall",
                        "src": "27224:43:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "27217:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "27217:6:84"
                    },
                    "nativeSrc": "27217:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27217:51:84"
                  },
                  "nativeSrc": "27214:71:84",
                  "nodeType": "YulIf",
                  "src": "27214:71:84"
                },
                {
                  "nativeSrc": "27294:15:84",
                  "nodeType": "YulAssignment",
                  "src": "27294:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "27304:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "27304:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "27294:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "27294:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes4_fromMemory",
            "nativeSrc": "27025:290:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "27071:9:84",
                "nodeType": "YulTypedName",
                "src": "27071:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "27082:7:84",
                "nodeType": "YulTypedName",
                "src": "27082:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "27094:6:84",
                "nodeType": "YulTypedName",
                "src": "27094:6:84",
                "type": ""
              }
            ],
            "src": "27025:290:84"
          },
          {
            "body": {
              "nativeSrc": "27421:170:84",
              "nodeType": "YulBlock",
              "src": "27421:170:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "27467:16:84",
                    "nodeType": "YulBlock",
                    "src": "27467:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27476:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27476:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27479:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27479:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27469:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "27469:6:84"
                          },
                          "nativeSrc": "27469:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27469:12:84"
                        },
                        "nativeSrc": "27469:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "27469:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "27442:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "27442:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "27451:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "27451:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "27438:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "27438:3:84"
                        },
                        "nativeSrc": "27438:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "27438:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27463:2:84",
                        "nodeType": "YulLiteral",
                        "src": "27463:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "27434:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27434:3:84"
                    },
                    "nativeSrc": "27434:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27434:32:84"
                  },
                  "nativeSrc": "27431:52:84",
                  "nodeType": "YulIf",
                  "src": "27431:52:84"
                },
                {
                  "nativeSrc": "27492:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27492:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "27511:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "27511:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "27505:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "27505:5:84"
                    },
                    "nativeSrc": "27505:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27505:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "27496:5:84",
                      "nodeType": "YulTypedName",
                      "src": "27496:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "27555:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "27555:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "27530:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "27530:24:84"
                    },
                    "nativeSrc": "27530:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27530:31:84"
                  },
                  "nativeSrc": "27530:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "27530:31:84"
                },
                {
                  "nativeSrc": "27570:15:84",
                  "nodeType": "YulAssignment",
                  "src": "27570:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "27580:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "27580:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "27570:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "27570:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_WitnetOracle_$749_fromMemory",
            "nativeSrc": "27320:271:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "27387:9:84",
                "nodeType": "YulTypedName",
                "src": "27387:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "27398:7:84",
                "nodeType": "YulTypedName",
                "src": "27398:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "27410:6:84",
                "nodeType": "YulTypedName",
                "src": "27410:6:84",
                "type": ""
              }
            ],
            "src": "27320:271:84"
          },
          {
            "body": {
              "nativeSrc": "27707:170:84",
              "nodeType": "YulBlock",
              "src": "27707:170:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "27753:16:84",
                    "nodeType": "YulBlock",
                    "src": "27753:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27762:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27762:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27765:1:84",
                              "nodeType": "YulLiteral",
                              "src": "27765:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27755:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "27755:6:84"
                          },
                          "nativeSrc": "27755:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "27755:12:84"
                        },
                        "nativeSrc": "27755:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "27755:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "27728:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "27728:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "27737:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "27737:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "27724:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "27724:3:84"
                        },
                        "nativeSrc": "27724:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "27724:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27749:2:84",
                        "nodeType": "YulLiteral",
                        "src": "27749:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "27720:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "27720:3:84"
                    },
                    "nativeSrc": "27720:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27720:32:84"
                  },
                  "nativeSrc": "27717:52:84",
                  "nodeType": "YulIf",
                  "src": "27717:52:84"
                },
                {
                  "nativeSrc": "27778:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27778:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "27797:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "27797:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "27791:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "27791:5:84"
                    },
                    "nativeSrc": "27791:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27791:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "27782:5:84",
                      "nodeType": "YulTypedName",
                      "src": "27782:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "27841:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "27841:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "27816:24:84",
                      "nodeType": "YulIdentifier",
                      "src": "27816:24:84"
                    },
                    "nativeSrc": "27816:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "27816:31:84"
                  },
                  "nativeSrc": "27816:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "27816:31:84"
                },
                {
                  "nativeSrc": "27856:15:84",
                  "nodeType": "YulAssignment",
                  "src": "27856:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "27866:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "27866:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "27856:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "27856:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_WitnetRequestBytecodes_$849_fromMemory",
            "nativeSrc": "27596:281:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "27673:9:84",
                "nodeType": "YulTypedName",
                "src": "27673:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "27684:7:84",
                "nodeType": "YulTypedName",
                "src": "27684:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "27696:6:84",
                "nodeType": "YulTypedName",
                "src": "27696:6:84",
                "type": ""
              }
            ],
            "src": "27596:281:84"
          },
          {
            "body": {
              "nativeSrc": "28109:351:84",
              "nodeType": "YulBlock",
              "src": "28109:351:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28126:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "28126:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "28141:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28141:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "28157:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "28157:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "28162:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "28162:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "28153:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "28153:3:84"
                                },
                                "nativeSrc": "28153:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "28153:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "28166:1:84",
                                "nodeType": "YulLiteral",
                                "src": "28166:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "28149:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "28149:3:84"
                            },
                            "nativeSrc": "28149:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "28149:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "28137:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28137:3:84"
                        },
                        "nativeSrc": "28137:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28137:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28119:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28119:6:84"
                    },
                    "nativeSrc": "28119:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28119:51:84"
                  },
                  "nativeSrc": "28119:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28119:51:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28190:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28190:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28201:2:84",
                            "nodeType": "YulLiteral",
                            "src": "28201:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28186:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28186:3:84"
                        },
                        "nativeSrc": "28186:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28186:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28206:2:84",
                        "nodeType": "YulLiteral",
                        "src": "28206:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28179:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28179:6:84"
                    },
                    "nativeSrc": "28179:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28179:30:84"
                  },
                  "nativeSrc": "28179:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28179:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28229:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28229:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28240:2:84",
                            "nodeType": "YulLiteral",
                            "src": "28240:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28225:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28225:3:84"
                        },
                        "nativeSrc": "28225:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28225:18:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "28245:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28245:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28218:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28218:6:84"
                    },
                    "nativeSrc": "28218:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28218:34:84"
                  },
                  "nativeSrc": "28218:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28218:34:84"
                },
                {
                  "body": {
                    "nativeSrc": "28296:16:84",
                    "nodeType": "YulBlock",
                    "src": "28296:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28305:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28305:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28308:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28308:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28298:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28298:6:84"
                          },
                          "nativeSrc": "28298:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "28298:12:84"
                        },
                        "nativeSrc": "28298:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "28298:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "28267:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28267:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "28283:3:84",
                                "nodeType": "YulLiteral",
                                "src": "28283:3:84",
                                "type": "",
                                "value": "251"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "28288:1:84",
                                "nodeType": "YulLiteral",
                                "src": "28288:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "28279:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "28279:3:84"
                            },
                            "nativeSrc": "28279:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "28279:11:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28292:1:84",
                            "nodeType": "YulLiteral",
                            "src": "28292:1:84",
                            "type": "",
                            "value": "1"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "28275:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28275:3:84"
                        },
                        "nativeSrc": "28275:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28275:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "28264:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "28264:2:84"
                    },
                    "nativeSrc": "28264:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28264:31:84"
                  },
                  "nativeSrc": "28261:51:84",
                  "nodeType": "YulIf",
                  "src": "28261:51:84"
                },
                {
                  "nativeSrc": "28321:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28321:28:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "28339:1:84",
                        "nodeType": "YulLiteral",
                        "src": "28339:1:84",
                        "type": "",
                        "value": "5"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "28342:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28342:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "shl",
                      "nativeSrc": "28335:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28335:3:84"
                    },
                    "nativeSrc": "28335:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28335:14:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "28325:6:84",
                      "nodeType": "YulTypedName",
                      "src": "28325:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28375:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28375:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28386:2:84",
                            "nodeType": "YulLiteral",
                            "src": "28386:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28371:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28371:3:84"
                        },
                        "nativeSrc": "28371:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28371:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "28391:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28391:6:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "28399:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28399:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "28358:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "28358:12:84"
                    },
                    "nativeSrc": "28358:48:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28358:48:84"
                  },
                  "nativeSrc": "28358:48:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "28358:48:84"
                },
                {
                  "nativeSrc": "28415:39:84",
                  "nodeType": "YulAssignment",
                  "src": "28415:39:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "28431:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28431:9:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "28442:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28442:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28427:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28427:3:84"
                        },
                        "nativeSrc": "28427:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28427:22:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28451:2:84",
                        "nodeType": "YulLiteral",
                        "src": "28451:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28423:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28423:3:84"
                    },
                    "nativeSrc": "28423:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28423:31:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "28415:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "28415:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_WitnetRequestBytecodes_$849_t_array$_t_uint256_$dyn_calldata_ptr__to_t_address_t_array$_t_uint256_$dyn_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "27882:578:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "28062:9:84",
                "nodeType": "YulTypedName",
                "src": "28062:9:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "28073:6:84",
                "nodeType": "YulTypedName",
                "src": "28073:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "28081:6:84",
                "nodeType": "YulTypedName",
                "src": "28081:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "28089:6:84",
                "nodeType": "YulTypedName",
                "src": "28089:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "28100:4:84",
                "nodeType": "YulTypedName",
                "src": "28100:4:84",
                "type": ""
              }
            ],
            "src": "27882:578:84"
          },
          {
            "body": {
              "nativeSrc": "28580:1080:84",
              "nodeType": "YulBlock",
              "src": "28580:1080:84",
              "statements": [
                {
                  "nativeSrc": "28590:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28590:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "28600:2:84",
                    "nodeType": "YulLiteral",
                    "src": "28600:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "28594:2:84",
                      "nodeType": "YulTypedName",
                      "src": "28594:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28647:16:84",
                    "nodeType": "YulBlock",
                    "src": "28647:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28656:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28656:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28659:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28659:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28649:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28649:6:84"
                          },
                          "nativeSrc": "28649:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "28649:12:84"
                        },
                        "nativeSrc": "28649:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "28649:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "28622:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "28622:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "28631:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "28631:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "28618:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28618:3:84"
                        },
                        "nativeSrc": "28618:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28618:23:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "28643:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "28643:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "28614:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28614:3:84"
                    },
                    "nativeSrc": "28614:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28614:32:84"
                  },
                  "nativeSrc": "28611:52:84",
                  "nodeType": "YulIf",
                  "src": "28611:52:84"
                },
                {
                  "nativeSrc": "28672:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28672:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28692:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "28692:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "28686:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "28686:5:84"
                    },
                    "nativeSrc": "28686:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28686:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "28676:6:84",
                      "nodeType": "YulTypedName",
                      "src": "28676:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "28711:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28711:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "28721:18:84",
                    "nodeType": "YulLiteral",
                    "src": "28721:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "28715:2:84",
                      "nodeType": "YulTypedName",
                      "src": "28715:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28766:16:84",
                    "nodeType": "YulBlock",
                    "src": "28766:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28775:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28775:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28778:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28778:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28768:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28768:6:84"
                          },
                          "nativeSrc": "28768:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "28768:12:84"
                        },
                        "nativeSrc": "28768:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "28768:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "28754:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28754:6:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "28762:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "28762:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "28751:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "28751:2:84"
                    },
                    "nativeSrc": "28751:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28751:14:84"
                  },
                  "nativeSrc": "28748:34:84",
                  "nodeType": "YulIf",
                  "src": "28748:34:84"
                },
                {
                  "nativeSrc": "28791:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28791:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28805:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "28805:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "28816:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "28816:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28801:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "28801:3:84"
                    },
                    "nativeSrc": "28801:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28801:22:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "28795:2:84",
                      "nodeType": "YulTypedName",
                      "src": "28795:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28871:16:84",
                    "nodeType": "YulBlock",
                    "src": "28871:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28880:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28880:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28883:1:84",
                              "nodeType": "YulLiteral",
                              "src": "28883:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "28873:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "28873:6:84"
                          },
                          "nativeSrc": "28873:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "28873:12:84"
                        },
                        "nativeSrc": "28873:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "28873:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_3",
                                "nativeSrc": "28850:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "28850:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "28854:4:84",
                                "nodeType": "YulLiteral",
                                "src": "28854:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "28846:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "28846:3:84"
                            },
                            "nativeSrc": "28846:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "28846:13:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "28861:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "28861:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "28842:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "28842:3:84"
                        },
                        "nativeSrc": "28842:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "28842:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "28835:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "28835:6:84"
                    },
                    "nativeSrc": "28835:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28835:35:84"
                  },
                  "nativeSrc": "28832:55:84",
                  "nodeType": "YulIf",
                  "src": "28832:55:84"
                },
                {
                  "nativeSrc": "28896:19:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28896:19:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_3",
                        "nativeSrc": "28912:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "28912:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "28906:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "28906:5:84"
                    },
                    "nativeSrc": "28906:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28906:9:84"
                  },
                  "variables": [
                    {
                      "name": "_4",
                      "nativeSrc": "28900:2:84",
                      "nodeType": "YulTypedName",
                      "src": "28900:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "28924:53:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28924:53:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_4",
                        "nativeSrc": "28974:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "28974:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_array_address_dyn",
                      "nativeSrc": "28934:39:84",
                      "nodeType": "YulIdentifier",
                      "src": "28934:39:84"
                    },
                    "nativeSrc": "28934:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "28934:43:84"
                  },
                  "variables": [
                    {
                      "name": "_5",
                      "nativeSrc": "28928:2:84",
                      "nodeType": "YulTypedName",
                      "src": "28928:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "28986:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28986:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "29006:2:84",
                        "nodeType": "YulLiteral",
                        "src": "29006:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "29000:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "29000:5:84"
                    },
                    "nativeSrc": "29000:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29000:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "28990:6:84",
                      "nodeType": "YulTypedName",
                      "src": "28990:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "29038:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29038:6:84"
                      },
                      {
                        "name": "_5",
                        "nativeSrc": "29046:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29046:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "29018:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "29018:19:84"
                    },
                    "nativeSrc": "29018:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29018:31:84"
                  },
                  "nativeSrc": "29018:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29018:31:84"
                },
                {
                  "nativeSrc": "29058:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29058:17:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "29069:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "29069:6:84"
                  },
                  "variables": [
                    {
                      "name": "dst",
                      "nativeSrc": "29062:3:84",
                      "nodeType": "YulTypedName",
                      "src": "29062:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "29091:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29091:6:84"
                      },
                      {
                        "name": "_4",
                        "nativeSrc": "29099:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29099:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29084:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29084:6:84"
                    },
                    "nativeSrc": "29084:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29084:18:84"
                  },
                  "nativeSrc": "29084:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29084:18:84"
                },
                {
                  "nativeSrc": "29111:22:84",
                  "nodeType": "YulAssignment",
                  "src": "29111:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "29122:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29122:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "29130:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29130:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29118:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29118:3:84"
                    },
                    "nativeSrc": "29118:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29118:15:84"
                  },
                  "variableNames": [
                    {
                      "name": "dst",
                      "nativeSrc": "29111:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29111:3:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "29142:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29142:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_3",
                            "nativeSrc": "29164:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "29164:2:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "29172:1:84",
                                "nodeType": "YulLiteral",
                                "src": "29172:1:84",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "_4",
                                "nativeSrc": "29175:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "29175:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "29168:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29168:3:84"
                            },
                            "nativeSrc": "29168:10:84",
                            "nodeType": "YulFunctionCall",
                            "src": "29168:10:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29160:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29160:3:84"
                        },
                        "nativeSrc": "29160:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29160:19:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "29181:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29181:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29156:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29156:3:84"
                    },
                    "nativeSrc": "29156:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29156:28:84"
                  },
                  "variables": [
                    {
                      "name": "srcEnd",
                      "nativeSrc": "29146:6:84",
                      "nodeType": "YulTypedName",
                      "src": "29146:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "29216:16:84",
                    "nodeType": "YulBlock",
                    "src": "29216:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "29225:1:84",
                              "nodeType": "YulLiteral",
                              "src": "29225:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "29228:1:84",
                              "nodeType": "YulLiteral",
                              "src": "29228:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "29218:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "29218:6:84"
                          },
                          "nativeSrc": "29218:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29218:12:84"
                        },
                        "nativeSrc": "29218:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "29218:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "srcEnd",
                        "nativeSrc": "29199:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29199:6:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "29207:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "29207:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "29196:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "29196:2:84"
                    },
                    "nativeSrc": "29196:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29196:19:84"
                  },
                  "nativeSrc": "29193:39:84",
                  "nodeType": "YulIf",
                  "src": "29193:39:84"
                },
                {
                  "nativeSrc": "29241:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29241:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_3",
                        "nativeSrc": "29256:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29256:2:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "29260:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "29260:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29252:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "29252:3:84"
                    },
                    "nativeSrc": "29252:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29252:11:84"
                  },
                  "variables": [
                    {
                      "name": "src",
                      "nativeSrc": "29245:3:84",
                      "nodeType": "YulTypedName",
                      "src": "29245:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "29328:301:84",
                    "nodeType": "YulBlock",
                    "src": "29328:301:84",
                    "statements": [
                      {
                        "nativeSrc": "29342:29:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "29342:29:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "29367:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29367:3:84"
                            }
                          ],
                          "functionName": {
                            "name": "mload",
                            "nativeSrc": "29361:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "29361:5:84"
                          },
                          "nativeSrc": "29361:10:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29361:10:84"
                        },
                        "variables": [
                          {
                            "name": "innerOffset",
                            "nativeSrc": "29346:11:84",
                            "nodeType": "YulTypedName",
                            "src": "29346:11:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "29419:74:84",
                          "nodeType": "YulBlock",
                          "src": "29419:74:84",
                          "statements": [
                            {
                              "nativeSrc": "29437:11:84",
                              "nodeType": "YulVariableDeclaration",
                              "src": "29437:11:84",
                              "value": {
                                "kind": "number",
                                "nativeSrc": "29447:1:84",
                                "nodeType": "YulLiteral",
                                "src": "29447:1:84",
                                "type": "",
                                "value": "0"
                              },
                              "variables": [
                                {
                                  "name": "_6",
                                  "nativeSrc": "29441:2:84",
                                  "nodeType": "YulTypedName",
                                  "src": "29441:2:84",
                                  "type": ""
                                }
                              ]
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "_6",
                                    "nativeSrc": "29472:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "29472:2:84"
                                  },
                                  {
                                    "name": "_6",
                                    "nativeSrc": "29476:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "29476:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "29465:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "29465:6:84"
                                },
                                "nativeSrc": "29465:14:84",
                                "nodeType": "YulFunctionCall",
                                "src": "29465:14:84"
                              },
                              "nativeSrc": "29465:14:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "29465:14:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "innerOffset",
                              "nativeSrc": "29390:11:84",
                              "nodeType": "YulIdentifier",
                              "src": "29390:11:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "29403:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "29403:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "29387:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "29387:2:84"
                          },
                          "nativeSrc": "29387:19:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29387:19:84"
                        },
                        "nativeSrc": "29384:109:84",
                        "nodeType": "YulIf",
                        "src": "29384:109:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "29513:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29513:3:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "name": "_3",
                                          "nativeSrc": "29555:2:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "29555:2:84"
                                        },
                                        {
                                          "name": "innerOffset",
                                          "nativeSrc": "29559:11:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "29559:11:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "add",
                                        "nativeSrc": "29551:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "29551:3:84"
                                      },
                                      "nativeSrc": "29551:20:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "29551:20:84"
                                    },
                                    {
                                      "name": "_1",
                                      "nativeSrc": "29573:2:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "29573:2:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "29547:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "29547:3:84"
                                  },
                                  "nativeSrc": "29547:29:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "29547:29:84"
                                },
                                {
                                  "name": "dataEnd",
                                  "nativeSrc": "29578:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "29578:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "abi_decode_string_fromMemory",
                                "nativeSrc": "29518:28:84",
                                "nodeType": "YulIdentifier",
                                "src": "29518:28:84"
                              },
                              "nativeSrc": "29518:68:84",
                              "nodeType": "YulFunctionCall",
                              "src": "29518:68:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "29506:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "29506:6:84"
                          },
                          "nativeSrc": "29506:81:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29506:81:84"
                        },
                        "nativeSrc": "29506:81:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "29506:81:84"
                      },
                      {
                        "nativeSrc": "29600:19:84",
                        "nodeType": "YulAssignment",
                        "src": "29600:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "dst",
                              "nativeSrc": "29611:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29611:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "29616:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "29616:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "29607:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "29607:3:84"
                          },
                          "nativeSrc": "29607:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29607:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "dst",
                            "nativeSrc": "29600:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "29600:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "29283:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "29283:3:84"
                      },
                      {
                        "name": "srcEnd",
                        "nativeSrc": "29288:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "29288:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "29280:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "29280:2:84"
                    },
                    "nativeSrc": "29280:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29280:15:84"
                  },
                  "nativeSrc": "29272:357:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "29296:23:84",
                    "nodeType": "YulBlock",
                    "src": "29296:23:84",
                    "statements": [
                      {
                        "nativeSrc": "29298:19:84",
                        "nodeType": "YulAssignment",
                        "src": "29298:19:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "src",
                              "nativeSrc": "29309:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "29309:3:84"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "29314:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "29314:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "29305:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "29305:3:84"
                          },
                          "nativeSrc": "29305:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "29305:12:84"
                        },
                        "variableNames": [
                          {
                            "name": "src",
                            "nativeSrc": "29298:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "29298:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "29276:3:84",
                    "nodeType": "YulBlock",
                    "src": "29276:3:84",
                    "statements": []
                  },
                  "src": "29272:357:84"
                },
                {
                  "nativeSrc": "29638:16:84",
                  "nodeType": "YulAssignment",
                  "src": "29638:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "29648:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "29648:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "29638:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29638:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory",
            "nativeSrc": "28465:1195:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "28546:9:84",
                "nodeType": "YulTypedName",
                "src": "28546:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "28557:7:84",
                "nodeType": "YulTypedName",
                "src": "28557:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "28569:6:84",
                "nodeType": "YulTypedName",
                "src": "28569:6:84",
                "type": ""
              }
            ],
            "src": "28465:1195:84"
          },
          {
            "body": {
              "nativeSrc": "29839:231:84",
              "nodeType": "YulBlock",
              "src": "29839:231:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "29856:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "29856:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29867:2:84",
                        "nodeType": "YulLiteral",
                        "src": "29867:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29849:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29849:6:84"
                    },
                    "nativeSrc": "29849:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29849:21:84"
                  },
                  "nativeSrc": "29849:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29849:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29890:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "29890:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29901:2:84",
                            "nodeType": "YulLiteral",
                            "src": "29901:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29886:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29886:3:84"
                        },
                        "nativeSrc": "29886:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29886:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29906:2:84",
                        "nodeType": "YulLiteral",
                        "src": "29906:2:84",
                        "type": "",
                        "value": "41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29879:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29879:6:84"
                    },
                    "nativeSrc": "29879:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29879:30:84"
                  },
                  "nativeSrc": "29879:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29879:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29929:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "29929:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29940:2:84",
                            "nodeType": "YulLiteral",
                            "src": "29940:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29925:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29925:3:84"
                        },
                        "nativeSrc": "29925:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29925:18:84"
                      },
                      {
                        "hexValue": "4f776e61626c6532537465703a2063616c6c6572206973206e6f742074686520",
                        "kind": "string",
                        "nativeSrc": "29945:34:84",
                        "nodeType": "YulLiteral",
                        "src": "29945:34:84",
                        "type": "",
                        "value": "Ownable2Step: caller is not the "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29918:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29918:6:84"
                    },
                    "nativeSrc": "29918:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29918:62:84"
                  },
                  "nativeSrc": "29918:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29918:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "30000:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "30000:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30011:2:84",
                            "nodeType": "YulLiteral",
                            "src": "30011:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29996:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "29996:3:84"
                        },
                        "nativeSrc": "29996:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "29996:18:84"
                      },
                      {
                        "hexValue": "6e6577206f776e6572",
                        "kind": "string",
                        "nativeSrc": "30016:11:84",
                        "nodeType": "YulLiteral",
                        "src": "30016:11:84",
                        "type": "",
                        "value": "new owner"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29989:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "29989:6:84"
                    },
                    "nativeSrc": "29989:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "29989:39:84"
                  },
                  "nativeSrc": "29989:39:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "29989:39:84"
                },
                {
                  "nativeSrc": "30037:27:84",
                  "nodeType": "YulAssignment",
                  "src": "30037:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "30049:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "30049:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30060:3:84",
                        "nodeType": "YulLiteral",
                        "src": "30060:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "30045:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30045:3:84"
                    },
                    "nativeSrc": "30045:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30045:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "30037:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "30037:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_225559eb8402045bea7ff07c35d0ad8c0547830223ac1c21d44fb948d6896ebc__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "29665:405:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "29816:9:84",
                "nodeType": "YulTypedName",
                "src": "29816:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "29830:4:84",
                "nodeType": "YulTypedName",
                "src": "29830:4:84",
                "type": ""
              }
            ],
            "src": "29665:405:84"
          },
          {
            "body": {
              "nativeSrc": "30204:145:84",
              "nodeType": "YulBlock",
              "src": "30204:145:84",
              "statements": [
                {
                  "nativeSrc": "30214:26:84",
                  "nodeType": "YulAssignment",
                  "src": "30214:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "30226:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "30226:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30237:2:84",
                        "nodeType": "YulLiteral",
                        "src": "30237:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "30222:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30222:3:84"
                    },
                    "nativeSrc": "30222:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30222:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "30214:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "30214:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "30256:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "30256:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "30271:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "30271:6:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "30287:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "30287:3:84",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "30292:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "30292:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "30283:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "30283:3:84"
                                },
                                "nativeSrc": "30283:11:84",
                                "nodeType": "YulFunctionCall",
                                "src": "30283:11:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "30296:1:84",
                                "nodeType": "YulLiteral",
                                "src": "30296:1:84",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "30279:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "30279:3:84"
                            },
                            "nativeSrc": "30279:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "30279:19:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "30267:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30267:3:84"
                        },
                        "nativeSrc": "30267:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30267:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30249:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30249:6:84"
                    },
                    "nativeSrc": "30249:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30249:51:84"
                  },
                  "nativeSrc": "30249:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30249:51:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "30320:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "30320:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "30331:2:84",
                            "nodeType": "YulLiteral",
                            "src": "30331:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "30316:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30316:3:84"
                        },
                        "nativeSrc": "30316:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30316:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "30336:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "30336:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "30309:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30309:6:84"
                    },
                    "nativeSrc": "30309:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30309:34:84"
                  },
                  "nativeSrc": "30309:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "30309:34:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed",
            "nativeSrc": "30075:274:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "30165:9:84",
                "nodeType": "YulTypedName",
                "src": "30165:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "30176:6:84",
                "nodeType": "YulTypedName",
                "src": "30176:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "30184:6:84",
                "nodeType": "YulTypedName",
                "src": "30184:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "30195:4:84",
                "nodeType": "YulTypedName",
                "src": "30195:4:84",
                "type": ""
              }
            ],
            "src": "30075:274:84"
          },
          {
            "body": {
              "nativeSrc": "30402:123:84",
              "nodeType": "YulBlock",
              "src": "30402:123:84",
              "statements": [
                {
                  "nativeSrc": "30412:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30412:16:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "30422:6:84",
                    "nodeType": "YulLiteral",
                    "src": "30422:6:84",
                    "type": "",
                    "value": "0xffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "30416:2:84",
                      "nodeType": "YulTypedName",
                      "src": "30416:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "30437:35:84",
                  "nodeType": "YulAssignment",
                  "src": "30437:35:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "30453:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "30453:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "30456:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "30456:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "30449:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30449:3:84"
                        },
                        "nativeSrc": "30449:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30449:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "30465:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "30465:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "30468:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "30468:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "30461:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30461:3:84"
                        },
                        "nativeSrc": "30461:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30461:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "30445:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30445:3:84"
                    },
                    "nativeSrc": "30445:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30445:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "30437:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "30437:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "30497:22:84",
                    "nodeType": "YulBlock",
                    "src": "30497:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "30499:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "30499:16:84"
                          },
                          "nativeSrc": "30499:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "30499:18:84"
                        },
                        "nativeSrc": "30499:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "30499:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "30487:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "30487:4:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "30493:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "30493:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "30484:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "30484:2:84"
                    },
                    "nativeSrc": "30484:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30484:12:84"
                  },
                  "nativeSrc": "30481:38:84",
                  "nodeType": "YulIf",
                  "src": "30481:38:84"
                }
              ]
            },
            "name": "checked_sub_t_uint16",
            "nativeSrc": "30354:171:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "30384:1:84",
                "nodeType": "YulTypedName",
                "src": "30384:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "30387:1:84",
                "nodeType": "YulTypedName",
                "src": "30387:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "30393:4:84",
                "nodeType": "YulTypedName",
                "src": "30393:4:84",
                "type": ""
              }
            ],
            "src": "30354:171:84"
          },
          {
            "body": {
              "nativeSrc": "30575:142:84",
              "nodeType": "YulBlock",
              "src": "30575:142:84",
              "statements": [
                {
                  "nativeSrc": "30585:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30585:16:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "30595:6:84",
                    "nodeType": "YulLiteral",
                    "src": "30595:6:84",
                    "type": "",
                    "value": "0xffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "30589:2:84",
                      "nodeType": "YulTypedName",
                      "src": "30589:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "30610:21:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30610:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "30625:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "30625:1:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "30628:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "30628:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "30621:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30621:3:84"
                    },
                    "nativeSrc": "30621:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30621:10:84"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "30614:3:84",
                      "nodeType": "YulTypedName",
                      "src": "30614:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "30655:22:84",
                    "nodeType": "YulBlock",
                    "src": "30655:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "30657:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "30657:16:84"
                          },
                          "nativeSrc": "30657:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "30657:18:84"
                        },
                        "nativeSrc": "30657:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "30657:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "30650:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "30650:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "30643:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "30643:6:84"
                    },
                    "nativeSrc": "30643:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30643:11:84"
                  },
                  "nativeSrc": "30640:37:84",
                  "nodeType": "YulIf",
                  "src": "30640:37:84"
                },
                {
                  "nativeSrc": "30686:25:84",
                  "nodeType": "YulAssignment",
                  "src": "30686:25:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "30699:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "30699:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "30702:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "30702:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "30695:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30695:3:84"
                        },
                        "nativeSrc": "30695:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30695:10:84"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "30707:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "30707:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "30691:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30691:3:84"
                    },
                    "nativeSrc": "30691:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30691:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "30686:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "30686:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint16",
            "nativeSrc": "30530:187:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "30560:1:84",
                "nodeType": "YulTypedName",
                "src": "30560:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "30563:1:84",
                "nodeType": "YulTypedName",
                "src": "30563:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "30569:1:84",
                "nodeType": "YulTypedName",
                "src": "30569:1:84",
                "type": ""
              }
            ],
            "src": "30530:187:84"
          },
          {
            "body": {
              "nativeSrc": "30769:121:84",
              "nodeType": "YulBlock",
              "src": "30769:121:84",
              "statements": [
                {
                  "nativeSrc": "30779:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30779:16:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "30789:6:84",
                    "nodeType": "YulLiteral",
                    "src": "30789:6:84",
                    "type": "",
                    "value": "0xffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "30783:2:84",
                      "nodeType": "YulTypedName",
                      "src": "30783:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "30804:34:84",
                  "nodeType": "YulAssignment",
                  "src": "30804:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "30819:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "30819:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "30822:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "30822:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "30815:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30815:3:84"
                        },
                        "nativeSrc": "30815:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30815:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "30831:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "30831:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "30834:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "30834:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "30827:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30827:3:84"
                        },
                        "nativeSrc": "30827:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30827:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "30811:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30811:3:84"
                    },
                    "nativeSrc": "30811:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30811:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "30804:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30804:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "30862:22:84",
                    "nodeType": "YulBlock",
                    "src": "30862:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "30864:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "30864:16:84"
                          },
                          "nativeSrc": "30864:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "30864:18:84"
                        },
                        "nativeSrc": "30864:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "30864:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "30853:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "30853:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "30858:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "30858:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "30850:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "30850:2:84"
                    },
                    "nativeSrc": "30850:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30850:11:84"
                  },
                  "nativeSrc": "30847:37:84",
                  "nodeType": "YulIf",
                  "src": "30847:37:84"
                }
              ]
            },
            "name": "checked_add_t_uint16",
            "nativeSrc": "30722:168:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "30752:1:84",
                "nodeType": "YulTypedName",
                "src": "30752:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "30755:1:84",
                "nodeType": "YulTypedName",
                "src": "30755:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "30761:3:84",
                "nodeType": "YulTypedName",
                "src": "30761:3:84",
                "type": ""
              }
            ],
            "src": "30722:168:84"
          },
          {
            "body": {
              "nativeSrc": "30975:169:84",
              "nodeType": "YulBlock",
              "src": "30975:169:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "31021:16:84",
                    "nodeType": "YulBlock",
                    "src": "31021:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31030:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31030:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31033:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31033:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31023:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31023:6:84"
                          },
                          "nativeSrc": "31023:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31023:12:84"
                        },
                        "nativeSrc": "31023:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "31023:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "30996:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "30996:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "31005:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "31005:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "30992:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "30992:3:84"
                        },
                        "nativeSrc": "30992:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "30992:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31017:2:84",
                        "nodeType": "YulLiteral",
                        "src": "31017:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "30988:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "30988:3:84"
                    },
                    "nativeSrc": "30988:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "30988:32:84"
                  },
                  "nativeSrc": "30985:52:84",
                  "nodeType": "YulIf",
                  "src": "30985:52:84"
                },
                {
                  "nativeSrc": "31046:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31046:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "31065:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "31065:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "31059:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "31059:5:84"
                    },
                    "nativeSrc": "31059:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31059:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "31050:5:84",
                      "nodeType": "YulTypedName",
                      "src": "31050:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "31108:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "31108:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "31084:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "31084:23:84"
                    },
                    "nativeSrc": "31084:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31084:30:84"
                  },
                  "nativeSrc": "31084:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "31084:30:84"
                },
                {
                  "nativeSrc": "31123:15:84",
                  "nodeType": "YulAssignment",
                  "src": "31123:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "31133:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "31133:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "31123:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "31123:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint16_fromMemory",
            "nativeSrc": "30895:249:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "30941:9:84",
                "nodeType": "YulTypedName",
                "src": "30941:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "30952:7:84",
                "nodeType": "YulTypedName",
                "src": "30952:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "30964:6:84",
                "nodeType": "YulTypedName",
                "src": "30964:6:84",
                "type": ""
              }
            ],
            "src": "30895:249:84"
          },
          {
            "body": {
              "nativeSrc": "31227:199:84",
              "nodeType": "YulBlock",
              "src": "31227:199:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "31273:16:84",
                    "nodeType": "YulBlock",
                    "src": "31273:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31282:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31282:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31285:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31285:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31275:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31275:6:84"
                          },
                          "nativeSrc": "31275:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31275:12:84"
                        },
                        "nativeSrc": "31275:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "31275:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "31248:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "31248:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "31257:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "31257:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "31244:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "31244:3:84"
                        },
                        "nativeSrc": "31244:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31244:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31269:2:84",
                        "nodeType": "YulLiteral",
                        "src": "31269:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "31240:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "31240:3:84"
                    },
                    "nativeSrc": "31240:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31240:32:84"
                  },
                  "nativeSrc": "31237:52:84",
                  "nodeType": "YulIf",
                  "src": "31237:52:84"
                },
                {
                  "nativeSrc": "31298:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31298:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "31317:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "31317:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "31311:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "31311:5:84"
                    },
                    "nativeSrc": "31311:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31311:16:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "31302:5:84",
                      "nodeType": "YulTypedName",
                      "src": "31302:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "31380:16:84",
                    "nodeType": "YulBlock",
                    "src": "31380:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31389:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31389:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31392:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31392:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31382:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31382:6:84"
                          },
                          "nativeSrc": "31382:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31382:12:84"
                        },
                        "nativeSrc": "31382:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "31382:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "31349:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "31349:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "31370:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "31370:5:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "iszero",
                                  "nativeSrc": "31363:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "31363:6:84"
                                },
                                "nativeSrc": "31363:13:84",
                                "nodeType": "YulFunctionCall",
                                "src": "31363:13:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "31356:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "31356:6:84"
                            },
                            "nativeSrc": "31356:21:84",
                            "nodeType": "YulFunctionCall",
                            "src": "31356:21:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "31346:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "31346:2:84"
                        },
                        "nativeSrc": "31346:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "31346:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "31339:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "31339:6:84"
                    },
                    "nativeSrc": "31339:40:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31339:40:84"
                  },
                  "nativeSrc": "31336:60:84",
                  "nodeType": "YulIf",
                  "src": "31336:60:84"
                },
                {
                  "nativeSrc": "31405:15:84",
                  "nodeType": "YulAssignment",
                  "src": "31405:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "31415:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "31415:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "31405:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "31405:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bool_fromMemory",
            "nativeSrc": "31149:277:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "31193:9:84",
                "nodeType": "YulTypedName",
                "src": "31193:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "31204:7:84",
                "nodeType": "YulTypedName",
                "src": "31204:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "31216:6:84",
                "nodeType": "YulTypedName",
                "src": "31216:6:84",
                "type": ""
              }
            ],
            "src": "31149:277:84"
          },
          {
            "body": {
              "nativeSrc": "31486:65:84",
              "nodeType": "YulBlock",
              "src": "31486:65:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "31503:1:84",
                        "nodeType": "YulLiteral",
                        "src": "31503:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "name": "ptr",
                        "nativeSrc": "31506:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "31506:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31496:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "31496:6:84"
                    },
                    "nativeSrc": "31496:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31496:14:84"
                  },
                  "nativeSrc": "31496:14:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "31496:14:84"
                },
                {
                  "nativeSrc": "31519:26:84",
                  "nodeType": "YulAssignment",
                  "src": "31519:26:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "31537:1:84",
                        "nodeType": "YulLiteral",
                        "src": "31537:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31540:4:84",
                        "nodeType": "YulLiteral",
                        "src": "31540:4:84",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "keccak256",
                      "nativeSrc": "31527:9:84",
                      "nodeType": "YulIdentifier",
                      "src": "31527:9:84"
                    },
                    "nativeSrc": "31527:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31527:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "data",
                      "nativeSrc": "31519:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "31519:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "array_dataslot_bytes_storage",
            "nativeSrc": "31431:120:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "ptr",
                "nativeSrc": "31469:3:84",
                "nodeType": "YulTypedName",
                "src": "31469:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "data",
                "nativeSrc": "31477:4:84",
                "nodeType": "YulTypedName",
                "src": "31477:4:84",
                "type": ""
              }
            ],
            "src": "31431:120:84"
          },
          {
            "body": {
              "nativeSrc": "31636:462:84",
              "nodeType": "YulBlock",
              "src": "31636:462:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "31669:423:84",
                    "nodeType": "YulBlock",
                    "src": "31669:423:84",
                    "statements": [
                      {
                        "nativeSrc": "31683:11:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "31683:11:84",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "31693:1:84",
                          "nodeType": "YulLiteral",
                          "src": "31693:1:84",
                          "type": "",
                          "value": "0"
                        },
                        "variables": [
                          {
                            "name": "_1",
                            "nativeSrc": "31687:2:84",
                            "nodeType": "YulTypedName",
                            "src": "31687:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31714:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31714:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "name": "array",
                              "nativeSrc": "31717:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "31717:5:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "31707:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "31707:6:84"
                          },
                          "nativeSrc": "31707:16:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31707:16:84"
                        },
                        "nativeSrc": "31707:16:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "31707:16:84"
                      },
                      {
                        "nativeSrc": "31736:30:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "31736:30:84",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31758:1:84",
                              "nodeType": "YulLiteral",
                              "src": "31758:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31761:4:84",
                              "nodeType": "YulLiteral",
                              "src": "31761:4:84",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "keccak256",
                            "nativeSrc": "31748:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "31748:9:84"
                          },
                          "nativeSrc": "31748:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31748:18:84"
                        },
                        "variables": [
                          {
                            "name": "data",
                            "nativeSrc": "31740:4:84",
                            "nodeType": "YulTypedName",
                            "src": "31740:4:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "31779:57:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "31779:57:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "data",
                              "nativeSrc": "31802:4:84",
                              "nodeType": "YulIdentifier",
                              "src": "31802:4:84"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "31812:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "31812:1:84",
                                  "type": "",
                                  "value": "5"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "startIndex",
                                      "nativeSrc": "31819:10:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "31819:10:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "31831:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "31831:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "31815:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "31815:3:84"
                                  },
                                  "nativeSrc": "31815:19:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "31815:19:84"
                                }
                              ],
                              "functionName": {
                                "name": "shr",
                                "nativeSrc": "31808:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "31808:3:84"
                              },
                              "nativeSrc": "31808:27:84",
                              "nodeType": "YulFunctionCall",
                              "src": "31808:27:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "31798:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "31798:3:84"
                          },
                          "nativeSrc": "31798:38:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31798:38:84"
                        },
                        "variables": [
                          {
                            "name": "deleteStart",
                            "nativeSrc": "31783:11:84",
                            "nodeType": "YulTypedName",
                            "src": "31783:11:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "31873:23:84",
                          "nodeType": "YulBlock",
                          "src": "31873:23:84",
                          "statements": [
                            {
                              "nativeSrc": "31875:19:84",
                              "nodeType": "YulAssignment",
                              "src": "31875:19:84",
                              "value": {
                                "name": "data",
                                "nativeSrc": "31890:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "31890:4:84"
                              },
                              "variableNames": [
                                {
                                  "name": "deleteStart",
                                  "nativeSrc": "31875:11:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "31875:11:84"
                                }
                              ]
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "startIndex",
                              "nativeSrc": "31855:10:84",
                              "nodeType": "YulIdentifier",
                              "src": "31855:10:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31867:4:84",
                              "nodeType": "YulLiteral",
                              "src": "31867:4:84",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "31852:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "31852:2:84"
                          },
                          "nativeSrc": "31852:20:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31852:20:84"
                        },
                        "nativeSrc": "31849:47:84",
                        "nodeType": "YulIf",
                        "src": "31849:47:84"
                      },
                      {
                        "nativeSrc": "31909:41:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "31909:41:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "data",
                              "nativeSrc": "31923:4:84",
                              "nodeType": "YulIdentifier",
                              "src": "31923:4:84"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "31933:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "31933:1:84",
                                  "type": "",
                                  "value": "5"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "len",
                                      "nativeSrc": "31940:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "31940:3:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "31945:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "31945:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "31936:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "31936:3:84"
                                  },
                                  "nativeSrc": "31936:12:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "31936:12:84"
                                }
                              ],
                              "functionName": {
                                "name": "shr",
                                "nativeSrc": "31929:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "31929:3:84"
                              },
                              "nativeSrc": "31929:20:84",
                              "nodeType": "YulFunctionCall",
                              "src": "31929:20:84"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "31919:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "31919:3:84"
                          },
                          "nativeSrc": "31919:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "31919:31:84"
                        },
                        "variables": [
                          {
                            "name": "_2",
                            "nativeSrc": "31913:2:84",
                            "nodeType": "YulTypedName",
                            "src": "31913:2:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "31963:24:84",
                        "nodeType": "YulVariableDeclaration",
                        "src": "31963:24:84",
                        "value": {
                          "name": "deleteStart",
                          "nativeSrc": "31976:11:84",
                          "nodeType": "YulIdentifier",
                          "src": "31976:11:84"
                        },
                        "variables": [
                          {
                            "name": "start",
                            "nativeSrc": "31967:5:84",
                            "nodeType": "YulTypedName",
                            "src": "31967:5:84",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "32061:21:84",
                          "nodeType": "YulBlock",
                          "src": "32061:21:84",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "start",
                                    "nativeSrc": "32070:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32070:5:84"
                                  },
                                  {
                                    "name": "_1",
                                    "nativeSrc": "32077:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32077:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "sstore",
                                  "nativeSrc": "32063:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32063:6:84"
                                },
                                "nativeSrc": "32063:17:84",
                                "nodeType": "YulFunctionCall",
                                "src": "32063:17:84"
                              },
                              "nativeSrc": "32063:17:84",
                              "nodeType": "YulExpressionStatement",
                              "src": "32063:17:84"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "start",
                              "nativeSrc": "32011:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "32011:5:84"
                            },
                            {
                              "name": "_2",
                              "nativeSrc": "32018:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "32018:2:84"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "32008:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "32008:2:84"
                          },
                          "nativeSrc": "32008:13:84",
                          "nodeType": "YulFunctionCall",
                          "src": "32008:13:84"
                        },
                        "nativeSrc": "32000:82:84",
                        "nodeType": "YulForLoop",
                        "post": {
                          "nativeSrc": "32022:26:84",
                          "nodeType": "YulBlock",
                          "src": "32022:26:84",
                          "statements": [
                            {
                              "nativeSrc": "32024:22:84",
                              "nodeType": "YulAssignment",
                              "src": "32024:22:84",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "start",
                                    "nativeSrc": "32037:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32037:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "32044:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "32044:1:84",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "32033:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32033:3:84"
                                },
                                "nativeSrc": "32033:13:84",
                                "nodeType": "YulFunctionCall",
                                "src": "32033:13:84"
                              },
                              "variableNames": [
                                {
                                  "name": "start",
                                  "nativeSrc": "32024:5:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32024:5:84"
                                }
                              ]
                            }
                          ]
                        },
                        "pre": {
                          "nativeSrc": "32004:3:84",
                          "nodeType": "YulBlock",
                          "src": "32004:3:84",
                          "statements": []
                        },
                        "src": "32000:82:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "31652:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "31652:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31657:2:84",
                        "nodeType": "YulLiteral",
                        "src": "31657:2:84",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "31649:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "31649:2:84"
                    },
                    "nativeSrc": "31649:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "31649:11:84"
                  },
                  "nativeSrc": "31646:446:84",
                  "nodeType": "YulIf",
                  "src": "31646:446:84"
                }
              ]
            },
            "name": "clean_up_bytearray_end_slots_bytes_storage",
            "nativeSrc": "31556:542:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "array",
                "nativeSrc": "31608:5:84",
                "nodeType": "YulTypedName",
                "src": "31608:5:84",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "31615:3:84",
                "nodeType": "YulTypedName",
                "src": "31615:3:84",
                "type": ""
              },
              {
                "name": "startIndex",
                "nativeSrc": "31620:10:84",
                "nodeType": "YulTypedName",
                "src": "31620:10:84",
                "type": ""
              }
            ],
            "src": "31556:542:84"
          },
          {
            "body": {
              "nativeSrc": "32188:81:84",
              "nodeType": "YulBlock",
              "src": "32188:81:84",
              "statements": [
                {
                  "nativeSrc": "32198:65:84",
                  "nodeType": "YulAssignment",
                  "src": "32198:65:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "data",
                            "nativeSrc": "32213:4:84",
                            "nodeType": "YulIdentifier",
                            "src": "32213:4:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "32231:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "32231:1:84",
                                        "type": "",
                                        "value": "3"
                                      },
                                      {
                                        "name": "len",
                                        "nativeSrc": "32234:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "32234:3:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "32227:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32227:3:84"
                                    },
                                    "nativeSrc": "32227:11:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32227:11:84"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "32244:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "32244:1:84",
                                        "type": "",
                                        "value": "0"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "not",
                                      "nativeSrc": "32240:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32240:3:84"
                                    },
                                    "nativeSrc": "32240:6:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32240:6:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "shr",
                                  "nativeSrc": "32223:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32223:3:84"
                                },
                                "nativeSrc": "32223:24:84",
                                "nodeType": "YulFunctionCall",
                                "src": "32223:24:84"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "32219:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "32219:3:84"
                            },
                            "nativeSrc": "32219:29:84",
                            "nodeType": "YulFunctionCall",
                            "src": "32219:29:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "32209:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32209:3:84"
                        },
                        "nativeSrc": "32209:40:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32209:40:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "32255:1:84",
                            "nodeType": "YulLiteral",
                            "src": "32255:1:84",
                            "type": "",
                            "value": "1"
                          },
                          {
                            "name": "len",
                            "nativeSrc": "32258:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "32258:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "32251:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "32251:3:84"
                        },
                        "nativeSrc": "32251:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32251:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "32206:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "32206:2:84"
                    },
                    "nativeSrc": "32206:57:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32206:57:84"
                  },
                  "variableNames": [
                    {
                      "name": "used",
                      "nativeSrc": "32198:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "32198:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "extract_used_part_and_set_length_of_short_byte_array",
            "nativeSrc": "32103:166:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "data",
                "nativeSrc": "32165:4:84",
                "nodeType": "YulTypedName",
                "src": "32165:4:84",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "32171:3:84",
                "nodeType": "YulTypedName",
                "src": "32171:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "used",
                "nativeSrc": "32179:4:84",
                "nodeType": "YulTypedName",
                "src": "32179:4:84",
                "type": ""
              }
            ],
            "src": "32103:166:84"
          },
          {
            "body": {
              "nativeSrc": "32375:1101:84",
              "nodeType": "YulBlock",
              "src": "32375:1101:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "32416:22:84",
                    "nodeType": "YulBlock",
                    "src": "32416:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "32418:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "32418:16:84"
                          },
                          "nativeSrc": "32418:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "32418:18:84"
                        },
                        "nativeSrc": "32418:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "32418:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "32391:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "32391:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32396:18:84",
                        "nodeType": "YulLiteral",
                        "src": "32396:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "32388:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "32388:2:84"
                    },
                    "nativeSrc": "32388:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32388:27:84"
                  },
                  "nativeSrc": "32385:53:84",
                  "nodeType": "YulIf",
                  "src": "32385:53:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "32490:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "32490:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "slot",
                                "nativeSrc": "32528:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "32528:4:84"
                              }
                            ],
                            "functionName": {
                              "name": "sload",
                              "nativeSrc": "32522:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "32522:5:84"
                            },
                            "nativeSrc": "32522:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "32522:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "extract_byte_array_length",
                          "nativeSrc": "32496:25:84",
                          "nodeType": "YulIdentifier",
                          "src": "32496:25:84"
                        },
                        "nativeSrc": "32496:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "32496:38:84"
                      },
                      {
                        "name": "len",
                        "nativeSrc": "32536:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "32536:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "clean_up_bytearray_end_slots_bytes_storage",
                      "nativeSrc": "32447:42:84",
                      "nodeType": "YulIdentifier",
                      "src": "32447:42:84"
                    },
                    "nativeSrc": "32447:93:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32447:93:84"
                  },
                  "nativeSrc": "32447:93:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "32447:93:84"
                },
                {
                  "nativeSrc": "32549:18:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "32549:18:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "32566:1:84",
                    "nodeType": "YulLiteral",
                    "src": "32566:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "srcOffset",
                      "nativeSrc": "32553:9:84",
                      "nodeType": "YulTypedName",
                      "src": "32553:9:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "32610:608:84",
                        "nodeType": "YulBlock",
                        "src": "32610:608:84",
                        "statements": [
                          {
                            "nativeSrc": "32624:32:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "32624:32:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "len",
                                  "nativeSrc": "32643:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32643:3:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "32652:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "32652:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "32648:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "32648:3:84"
                                  },
                                  "nativeSrc": "32648:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "32648:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "32639:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "32639:3:84"
                              },
                              "nativeSrc": "32639:17:84",
                              "nodeType": "YulFunctionCall",
                              "src": "32639:17:84"
                            },
                            "variables": [
                              {
                                "name": "loopEnd",
                                "nativeSrc": "32628:7:84",
                                "nodeType": "YulTypedName",
                                "src": "32628:7:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "32669:48:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "32669:48:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "32712:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32712:4:84"
                                }
                              ],
                              "functionName": {
                                "name": "array_dataslot_bytes_storage",
                                "nativeSrc": "32683:28:84",
                                "nodeType": "YulIdentifier",
                                "src": "32683:28:84"
                              },
                              "nativeSrc": "32683:34:84",
                              "nodeType": "YulFunctionCall",
                              "src": "32683:34:84"
                            },
                            "variables": [
                              {
                                "name": "dstPtr",
                                "nativeSrc": "32673:6:84",
                                "nodeType": "YulTypedName",
                                "src": "32673:6:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "32730:18:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "32730:18:84",
                            "value": {
                              "name": "srcOffset",
                              "nativeSrc": "32739:9:84",
                              "nodeType": "YulIdentifier",
                              "src": "32739:9:84"
                            },
                            "variables": [
                              {
                                "name": "i",
                                "nativeSrc": "32734:1:84",
                                "nodeType": "YulTypedName",
                                "src": "32734:1:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "32818:172:84",
                              "nodeType": "YulBlock",
                              "src": "32818:172:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "32843:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "32843:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "src",
                                                "nativeSrc": "32868:3:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "32868:3:84"
                                              },
                                              {
                                                "name": "srcOffset",
                                                "nativeSrc": "32873:9:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "32873:9:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "32864:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "32864:3:84"
                                            },
                                            "nativeSrc": "32864:19:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "32864:19:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "calldataload",
                                          "nativeSrc": "32851:12:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "32851:12:84"
                                        },
                                        "nativeSrc": "32851:33:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "32851:33:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "32836:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32836:6:84"
                                    },
                                    "nativeSrc": "32836:49:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32836:49:84"
                                  },
                                  "nativeSrc": "32836:49:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "32836:49:84"
                                },
                                {
                                  "nativeSrc": "32902:24:84",
                                  "nodeType": "YulAssignment",
                                  "src": "32902:24:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "32916:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "32916:6:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "32924:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "32924:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "32912:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32912:3:84"
                                    },
                                    "nativeSrc": "32912:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32912:14:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "dstPtr",
                                      "nativeSrc": "32902:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32902:6:84"
                                    }
                                  ]
                                },
                                {
                                  "nativeSrc": "32943:33:84",
                                  "nodeType": "YulAssignment",
                                  "src": "32943:33:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "srcOffset",
                                        "nativeSrc": "32960:9:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "32960:9:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "32971:4:84",
                                        "nodeType": "YulLiteral",
                                        "src": "32971:4:84",
                                        "type": "",
                                        "value": "0x20"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "32956:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32956:3:84"
                                    },
                                    "nativeSrc": "32956:20:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32956:20:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "srcOffset",
                                      "nativeSrc": "32943:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32943:9:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "i",
                                  "nativeSrc": "32772:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32772:1:84"
                                },
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "32775:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "32775:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "32769:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "32769:2:84"
                              },
                              "nativeSrc": "32769:14:84",
                              "nodeType": "YulFunctionCall",
                              "src": "32769:14:84"
                            },
                            "nativeSrc": "32761:229:84",
                            "nodeType": "YulForLoop",
                            "post": {
                              "nativeSrc": "32784:21:84",
                              "nodeType": "YulBlock",
                              "src": "32784:21:84",
                              "statements": [
                                {
                                  "nativeSrc": "32786:17:84",
                                  "nodeType": "YulAssignment",
                                  "src": "32786:17:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "i",
                                        "nativeSrc": "32795:1:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "32795:1:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "32798:4:84",
                                        "nodeType": "YulLiteral",
                                        "src": "32798:4:84",
                                        "type": "",
                                        "value": "0x20"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "32791:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32791:3:84"
                                    },
                                    "nativeSrc": "32791:12:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "32791:12:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "i",
                                      "nativeSrc": "32786:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "32786:1:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "pre": {
                              "nativeSrc": "32765:3:84",
                              "nodeType": "YulBlock",
                              "src": "32765:3:84",
                              "statements": []
                            },
                            "src": "32761:229:84"
                          },
                          {
                            "body": {
                              "nativeSrc": "33035:127:84",
                              "nodeType": "YulBlock",
                              "src": "33035:127:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "33060:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "33060:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "name": "src",
                                                    "nativeSrc": "33089:3:84",
                                                    "nodeType": "YulIdentifier",
                                                    "src": "33089:3:84"
                                                  },
                                                  {
                                                    "name": "srcOffset",
                                                    "nativeSrc": "33094:9:84",
                                                    "nodeType": "YulIdentifier",
                                                    "src": "33094:9:84"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "add",
                                                  "nativeSrc": "33085:3:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "33085:3:84"
                                                },
                                                "nativeSrc": "33085:19:84",
                                                "nodeType": "YulFunctionCall",
                                                "src": "33085:19:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "calldataload",
                                              "nativeSrc": "33072:12:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "33072:12:84"
                                            },
                                            "nativeSrc": "33072:33:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "33072:33:84"
                                          },
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "arguments": [
                                                      {
                                                        "arguments": [
                                                          {
                                                            "kind": "number",
                                                            "nativeSrc": "33123:1:84",
                                                            "nodeType": "YulLiteral",
                                                            "src": "33123:1:84",
                                                            "type": "",
                                                            "value": "3"
                                                          },
                                                          {
                                                            "name": "len",
                                                            "nativeSrc": "33126:3:84",
                                                            "nodeType": "YulIdentifier",
                                                            "src": "33126:3:84"
                                                          }
                                                        ],
                                                        "functionName": {
                                                          "name": "shl",
                                                          "nativeSrc": "33119:3:84",
                                                          "nodeType": "YulIdentifier",
                                                          "src": "33119:3:84"
                                                        },
                                                        "nativeSrc": "33119:11:84",
                                                        "nodeType": "YulFunctionCall",
                                                        "src": "33119:11:84"
                                                      },
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "33132:3:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "33132:3:84",
                                                        "type": "",
                                                        "value": "248"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "and",
                                                      "nativeSrc": "33115:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "33115:3:84"
                                                    },
                                                    "nativeSrc": "33115:21:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "33115:21:84"
                                                  },
                                                  {
                                                    "arguments": [
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "33142:1:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "33142:1:84",
                                                        "type": "",
                                                        "value": "0"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "not",
                                                      "nativeSrc": "33138:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "33138:3:84"
                                                    },
                                                    "nativeSrc": "33138:6:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "33138:6:84"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "shr",
                                                  "nativeSrc": "33111:3:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "33111:3:84"
                                                },
                                                "nativeSrc": "33111:34:84",
                                                "nodeType": "YulFunctionCall",
                                                "src": "33111:34:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "not",
                                              "nativeSrc": "33107:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "33107:3:84"
                                            },
                                            "nativeSrc": "33107:39:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "33107:39:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "and",
                                          "nativeSrc": "33068:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "33068:3:84"
                                        },
                                        "nativeSrc": "33068:79:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "33068:79:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "33053:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33053:6:84"
                                    },
                                    "nativeSrc": "33053:95:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "33053:95:84"
                                  },
                                  "nativeSrc": "33053:95:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "33053:95:84"
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "33009:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33009:7:84"
                                },
                                {
                                  "name": "len",
                                  "nativeSrc": "33018:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33018:3:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "33006:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "33006:2:84"
                              },
                              "nativeSrc": "33006:16:84",
                              "nodeType": "YulFunctionCall",
                              "src": "33006:16:84"
                            },
                            "nativeSrc": "33003:159:84",
                            "nodeType": "YulIf",
                            "src": "33003:159:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "33182:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33182:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "33196:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "33196:1:84",
                                          "type": "",
                                          "value": "1"
                                        },
                                        {
                                          "name": "len",
                                          "nativeSrc": "33199:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "33199:3:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "33192:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "33192:3:84"
                                      },
                                      "nativeSrc": "33192:11:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "33192:11:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "33205:1:84",
                                      "nodeType": "YulLiteral",
                                      "src": "33205:1:84",
                                      "type": "",
                                      "value": "1"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "33188:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "33188:3:84"
                                  },
                                  "nativeSrc": "33188:19:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "33188:19:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "33175:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "33175:6:84"
                              },
                              "nativeSrc": "33175:33:84",
                              "nodeType": "YulFunctionCall",
                              "src": "33175:33:84"
                            },
                            "nativeSrc": "33175:33:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "33175:33:84"
                          }
                        ]
                      },
                      "nativeSrc": "32603:615:84",
                      "nodeType": "YulCase",
                      "src": "32603:615:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "32608:1:84",
                        "nodeType": "YulLiteral",
                        "src": "32608:1:84",
                        "type": "",
                        "value": "1"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "33235:235:84",
                        "nodeType": "YulBlock",
                        "src": "33235:235:84",
                        "statements": [
                          {
                            "nativeSrc": "33249:14:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "33249:14:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "33262:1:84",
                              "nodeType": "YulLiteral",
                              "src": "33262:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "value",
                                "nativeSrc": "33253:5:84",
                                "nodeType": "YulTypedName",
                                "src": "33253:5:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "33295:74:84",
                              "nodeType": "YulBlock",
                              "src": "33295:74:84",
                              "statements": [
                                {
                                  "nativeSrc": "33313:42:84",
                                  "nodeType": "YulAssignment",
                                  "src": "33313:42:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "src",
                                            "nativeSrc": "33339:3:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "33339:3:84"
                                          },
                                          {
                                            "name": "srcOffset",
                                            "nativeSrc": "33344:9:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "33344:9:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "33335:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "33335:3:84"
                                        },
                                        "nativeSrc": "33335:19:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "33335:19:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "calldataload",
                                      "nativeSrc": "33322:12:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33322:12:84"
                                    },
                                    "nativeSrc": "33322:33:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "33322:33:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "33313:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33313:5:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "name": "len",
                              "nativeSrc": "33279:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "33279:3:84"
                            },
                            "nativeSrc": "33276:93:84",
                            "nodeType": "YulIf",
                            "src": "33276:93:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "33389:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "33389:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "33448:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33448:5:84"
                                    },
                                    {
                                      "name": "len",
                                      "nativeSrc": "33455:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "33455:3:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "extract_used_part_and_set_length_of_short_byte_array",
                                    "nativeSrc": "33395:52:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "33395:52:84"
                                  },
                                  "nativeSrc": "33395:64:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "33395:64:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "33382:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "33382:6:84"
                              },
                              "nativeSrc": "33382:78:84",
                              "nodeType": "YulFunctionCall",
                              "src": "33382:78:84"
                            },
                            "nativeSrc": "33382:78:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "33382:78:84"
                          }
                        ]
                      },
                      "nativeSrc": "33227:243:84",
                      "nodeType": "YulCase",
                      "src": "33227:243:84",
                      "value": "default"
                    }
                  ],
                  "expression": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "32586:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "32586:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32591:2:84",
                        "nodeType": "YulLiteral",
                        "src": "32591:2:84",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "32583:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "32583:2:84"
                    },
                    "nativeSrc": "32583:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "32583:11:84"
                  },
                  "nativeSrc": "32576:894:84",
                  "nodeType": "YulSwitch",
                  "src": "32576:894:84"
                }
              ]
            },
            "name": "copy_byte_array_to_storage_from_t_bytes_calldata_ptr_to_t_bytes_storage",
            "nativeSrc": "32274:1202:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "32355:4:84",
                "nodeType": "YulTypedName",
                "src": "32355:4:84",
                "type": ""
              },
              {
                "name": "src",
                "nativeSrc": "32361:3:84",
                "nodeType": "YulTypedName",
                "src": "32361:3:84",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "32366:3:84",
                "nodeType": "YulTypedName",
                "src": "32366:3:84",
                "type": ""
              }
            ],
            "src": "32274:1202:84"
          },
          {
            "body": {
              "nativeSrc": "33651:911:84",
              "nodeType": "YulBlock",
              "src": "33651:911:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "33692:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "33692:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "33700:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "33700:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResponseStatus",
                      "nativeSrc": "33661:30:84",
                      "nodeType": "YulIdentifier",
                      "src": "33661:30:84"
                    },
                    "nativeSrc": "33661:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33661:49:84"
                  },
                  "nativeSrc": "33661:49:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33661:49:84"
                },
                {
                  "nativeSrc": "33719:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33719:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "33729:2:84",
                    "nodeType": "YulLiteral",
                    "src": "33729:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "33723:2:84",
                      "nodeType": "YulTypedName",
                      "src": "33723:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33751:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "33751:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33762:2:84",
                            "nodeType": "YulLiteral",
                            "src": "33762:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33747:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33747:3:84"
                        },
                        "nativeSrc": "33747:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33747:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33767:2:84",
                        "nodeType": "YulLiteral",
                        "src": "33767:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33740:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33740:6:84"
                    },
                    "nativeSrc": "33740:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33740:30:84"
                  },
                  "nativeSrc": "33740:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33740:30:84"
                },
                {
                  "nativeSrc": "33779:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33779:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "33790:1:84",
                    "nodeType": "YulLiteral",
                    "src": "33790:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "ret",
                      "nativeSrc": "33783:3:84",
                      "nodeType": "YulTypedName",
                      "src": "33783:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "33800:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33800:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "33823:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "33823:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "33817:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "33817:5:84"
                    },
                    "nativeSrc": "33817:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33817:13:84"
                  },
                  "variables": [
                    {
                      "name": "slotValue",
                      "nativeSrc": "33804:9:84",
                      "nodeType": "YulTypedName",
                      "src": "33804:9:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "33839:50:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33839:50:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "slotValue",
                        "nativeSrc": "33879:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "33879:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "extract_byte_array_length",
                      "nativeSrc": "33853:25:84",
                      "nodeType": "YulIdentifier",
                      "src": "33853:25:84"
                    },
                    "nativeSrc": "33853:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33853:36:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "33843:6:84",
                      "nodeType": "YulTypedName",
                      "src": "33843:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33909:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "33909:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33920:2:84",
                            "nodeType": "YulLiteral",
                            "src": "33920:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33905:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "33905:3:84"
                        },
                        "nativeSrc": "33905:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "33905:18:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "33925:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "33925:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33898:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "33898:6:84"
                    },
                    "nativeSrc": "33898:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33898:34:84"
                  },
                  "nativeSrc": "33898:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "33898:34:84"
                },
                {
                  "nativeSrc": "33941:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33941:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "33951:2:84",
                    "nodeType": "YulLiteral",
                    "src": "33951:2:84",
                    "type": "",
                    "value": "96"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "33945:2:84",
                      "nodeType": "YulTypedName",
                      "src": "33945:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "33962:11:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33962:11:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "33972:1:84",
                    "nodeType": "YulLiteral",
                    "src": "33972:1:84",
                    "type": "",
                    "value": "1"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "33966:2:84",
                      "nodeType": "YulTypedName",
                      "src": "33966:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "34022:151:84",
                        "nodeType": "YulBlock",
                        "src": "34022:151:84",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "34047:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34047:9:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "34058:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "34058:2:84",
                                      "type": "",
                                      "value": "96"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "34043:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "34043:3:84"
                                  },
                                  "nativeSrc": "34043:18:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "34043:18:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "slotValue",
                                      "nativeSrc": "34067:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34067:9:84"
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "34082:3:84",
                                          "nodeType": "YulLiteral",
                                          "src": "34082:3:84",
                                          "type": "",
                                          "value": "255"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "not",
                                        "nativeSrc": "34078:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "34078:3:84"
                                      },
                                      "nativeSrc": "34078:8:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "34078:8:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "and",
                                    "nativeSrc": "34063:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "34063:3:84"
                                  },
                                  "nativeSrc": "34063:24:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "34063:24:84"
                                }
                              ],
                              "functionName": {
                                "name": "mstore",
                                "nativeSrc": "34036:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "34036:6:84"
                              },
                              "nativeSrc": "34036:52:84",
                              "nodeType": "YulFunctionCall",
                              "src": "34036:52:84"
                            },
                            "nativeSrc": "34036:52:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "34036:52:84"
                          },
                          {
                            "nativeSrc": "34101:62:84",
                            "nodeType": "YulAssignment",
                            "src": "34101:62:84",
                            "value": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "34116:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34116:9:84"
                                    },
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "34131:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "34131:1:84",
                                          "type": "",
                                          "value": "5"
                                        },
                                        {
                                          "arguments": [
                                            {
                                              "arguments": [
                                                {
                                                  "name": "length",
                                                  "nativeSrc": "34148:6:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "34148:6:84"
                                                }
                                              ],
                                              "functionName": {
                                                "name": "iszero",
                                                "nativeSrc": "34141:6:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "34141:6:84"
                                              },
                                              "nativeSrc": "34141:14:84",
                                              "nodeType": "YulFunctionCall",
                                              "src": "34141:14:84"
                                            }
                                          ],
                                          "functionName": {
                                            "name": "iszero",
                                            "nativeSrc": "34134:6:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "34134:6:84"
                                          },
                                          "nativeSrc": "34134:22:84",
                                          "nodeType": "YulFunctionCall",
                                          "src": "34134:22:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "34127:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "34127:3:84"
                                      },
                                      "nativeSrc": "34127:30:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "34127:30:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "34112:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "34112:3:84"
                                  },
                                  "nativeSrc": "34112:46:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "34112:46:84"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "34160:2:84",
                                  "nodeType": "YulLiteral",
                                  "src": "34160:2:84",
                                  "type": "",
                                  "value": "96"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "34108:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "34108:3:84"
                              },
                              "nativeSrc": "34108:55:84",
                              "nodeType": "YulFunctionCall",
                              "src": "34108:55:84"
                            },
                            "variableNames": [
                              {
                                "name": "ret",
                                "nativeSrc": "34101:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "34101:3:84"
                              }
                            ]
                          }
                        ]
                      },
                      "nativeSrc": "34015:158:84",
                      "nodeType": "YulCase",
                      "src": "34015:158:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "34020:1:84",
                        "nodeType": "YulLiteral",
                        "src": "34020:1:84",
                        "type": "",
                        "value": "0"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "34189:347:84",
                        "nodeType": "YulBlock",
                        "src": "34189:347:84",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "34210:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "34210:1:84",
                                  "type": "",
                                  "value": "0"
                                },
                                {
                                  "name": "value1",
                                  "nativeSrc": "34213:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "34213:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "mstore",
                                "nativeSrc": "34203:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "34203:6:84"
                              },
                              "nativeSrc": "34203:17:84",
                              "nodeType": "YulFunctionCall",
                              "src": "34203:17:84"
                            },
                            "nativeSrc": "34203:17:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "34203:17:84"
                          },
                          {
                            "nativeSrc": "34233:31:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "34233:31:84",
                            "value": {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "34258:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "34258:1:84",
                                  "type": "",
                                  "value": "0"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "34261:2:84",
                                  "nodeType": "YulLiteral",
                                  "src": "34261:2:84",
                                  "type": "",
                                  "value": "32"
                                }
                              ],
                              "functionName": {
                                "name": "keccak256",
                                "nativeSrc": "34248:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "34248:9:84"
                              },
                              "nativeSrc": "34248:16:84",
                              "nodeType": "YulFunctionCall",
                              "src": "34248:16:84"
                            },
                            "variables": [
                              {
                                "name": "dataPos",
                                "nativeSrc": "34237:7:84",
                                "nodeType": "YulTypedName",
                                "src": "34237:7:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "34277:10:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "34277:10:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "34286:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34286:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "i",
                                "nativeSrc": "34281:1:84",
                                "nodeType": "YulTypedName",
                                "src": "34281:1:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "34354:126:84",
                              "nodeType": "YulBlock",
                              "src": "34354:126:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "headStart",
                                                "nativeSrc": "34387:9:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "34387:9:84"
                                              },
                                              {
                                                "name": "i",
                                                "nativeSrc": "34398:1:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "34398:1:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "34383:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "34383:3:84"
                                            },
                                            "nativeSrc": "34383:17:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "34383:17:84"
                                          },
                                          {
                                            "name": "_2",
                                            "nativeSrc": "34402:2:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "34402:2:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "34379:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "34379:3:84"
                                        },
                                        "nativeSrc": "34379:26:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "34379:26:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "name": "dataPos",
                                            "nativeSrc": "34413:7:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "34413:7:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "sload",
                                          "nativeSrc": "34407:5:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "34407:5:84"
                                        },
                                        "nativeSrc": "34407:14:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "34407:14:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mstore",
                                      "nativeSrc": "34372:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34372:6:84"
                                    },
                                    "nativeSrc": "34372:50:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "34372:50:84"
                                  },
                                  "nativeSrc": "34372:50:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "34372:50:84"
                                },
                                {
                                  "nativeSrc": "34439:27:84",
                                  "nodeType": "YulAssignment",
                                  "src": "34439:27:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "dataPos",
                                        "nativeSrc": "34454:7:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "34454:7:84"
                                      },
                                      {
                                        "name": "_3",
                                        "nativeSrc": "34463:2:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "34463:2:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "34450:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34450:3:84"
                                    },
                                    "nativeSrc": "34450:16:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "34450:16:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "dataPos",
                                      "nativeSrc": "34439:7:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34439:7:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "i",
                                  "nativeSrc": "34311:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "34311:1:84"
                                },
                                {
                                  "name": "length",
                                  "nativeSrc": "34314:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "34314:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "34308:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "34308:2:84"
                              },
                              "nativeSrc": "34308:13:84",
                              "nodeType": "YulFunctionCall",
                              "src": "34308:13:84"
                            },
                            "nativeSrc": "34300:180:84",
                            "nodeType": "YulForLoop",
                            "post": {
                              "nativeSrc": "34322:19:84",
                              "nodeType": "YulBlock",
                              "src": "34322:19:84",
                              "statements": [
                                {
                                  "nativeSrc": "34324:15:84",
                                  "nodeType": "YulAssignment",
                                  "src": "34324:15:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "i",
                                        "nativeSrc": "34333:1:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "34333:1:84"
                                      },
                                      {
                                        "name": "_1",
                                        "nativeSrc": "34336:2:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "34336:2:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "34329:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34329:3:84"
                                    },
                                    "nativeSrc": "34329:10:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "34329:10:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "i",
                                      "nativeSrc": "34324:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34324:1:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "pre": {
                              "nativeSrc": "34304:3:84",
                              "nodeType": "YulBlock",
                              "src": "34304:3:84",
                              "statements": []
                            },
                            "src": "34300:180:84"
                          },
                          {
                            "nativeSrc": "34493:33:84",
                            "nodeType": "YulAssignment",
                            "src": "34493:33:84",
                            "value": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "34508:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34508:9:84"
                                    },
                                    {
                                      "name": "i",
                                      "nativeSrc": "34519:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "34519:1:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "34504:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "34504:3:84"
                                  },
                                  "nativeSrc": "34504:17:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "34504:17:84"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "34523:2:84",
                                  "nodeType": "YulLiteral",
                                  "src": "34523:2:84",
                                  "type": "",
                                  "value": "96"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "34500:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "34500:3:84"
                              },
                              "nativeSrc": "34500:26:84",
                              "nodeType": "YulFunctionCall",
                              "src": "34500:26:84"
                            },
                            "variableNames": [
                              {
                                "name": "ret",
                                "nativeSrc": "34493:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "34493:3:84"
                              }
                            ]
                          }
                        ]
                      },
                      "nativeSrc": "34182:354:84",
                      "nodeType": "YulCase",
                      "src": "34182:354:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "34187:1:84",
                        "nodeType": "YulLiteral",
                        "src": "34187:1:84",
                        "type": "",
                        "value": "1"
                      }
                    }
                  ],
                  "expression": {
                    "arguments": [
                      {
                        "name": "slotValue",
                        "nativeSrc": "33993:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "33993:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34004:1:84",
                        "nodeType": "YulLiteral",
                        "src": "34004:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "33989:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "33989:3:84"
                    },
                    "nativeSrc": "33989:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "33989:17:84"
                  },
                  "nativeSrc": "33982:554:84",
                  "nodeType": "YulSwitch",
                  "src": "33982:554:84"
                },
                {
                  "nativeSrc": "34545:11:84",
                  "nodeType": "YulAssignment",
                  "src": "34545:11:84",
                  "value": {
                    "name": "ret",
                    "nativeSrc": "34553:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "34553:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "34545:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "34545:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_ResponseStatus_$23496_t_bytes_storage__to_t_uint8_t_bytes_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "33481:1081:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33612:9:84",
                "nodeType": "YulTypedName",
                "src": "33612:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "33623:6:84",
                "nodeType": "YulTypedName",
                "src": "33623:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "33631:6:84",
                "nodeType": "YulTypedName",
                "src": "33631:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "33642:4:84",
                "nodeType": "YulTypedName",
                "src": "33642:4:84",
                "type": ""
              }
            ],
            "src": "33481:1081:84"
          },
          {
            "body": {
              "nativeSrc": "34678:791:84",
              "nodeType": "YulBlock",
              "src": "34678:791:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "34724:16:84",
                    "nodeType": "YulBlock",
                    "src": "34724:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34733:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34733:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34736:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34736:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34726:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "34726:6:84"
                          },
                          "nativeSrc": "34726:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "34726:12:84"
                        },
                        "nativeSrc": "34726:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "34726:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "34699:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "34699:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "34708:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "34708:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "34695:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34695:3:84"
                        },
                        "nativeSrc": "34695:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34695:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34720:2:84",
                        "nodeType": "YulLiteral",
                        "src": "34720:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "34691:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34691:3:84"
                    },
                    "nativeSrc": "34691:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34691:32:84"
                  },
                  "nativeSrc": "34688:52:84",
                  "nodeType": "YulIf",
                  "src": "34688:52:84"
                },
                {
                  "nativeSrc": "34749:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34749:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34769:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "34769:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "34763:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "34763:5:84"
                    },
                    "nativeSrc": "34763:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34763:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "34753:6:84",
                      "nodeType": "YulTypedName",
                      "src": "34753:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "34788:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34788:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "34798:18:84",
                    "nodeType": "YulLiteral",
                    "src": "34798:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "34792:2:84",
                      "nodeType": "YulTypedName",
                      "src": "34792:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "34843:16:84",
                    "nodeType": "YulBlock",
                    "src": "34843:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34852:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34852:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34855:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34855:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34845:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "34845:6:84"
                          },
                          "nativeSrc": "34845:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "34845:12:84"
                        },
                        "nativeSrc": "34845:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "34845:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "34831:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34831:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "34839:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "34839:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "34828:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "34828:2:84"
                    },
                    "nativeSrc": "34828:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34828:14:84"
                  },
                  "nativeSrc": "34825:34:84",
                  "nodeType": "YulIf",
                  "src": "34825:34:84"
                },
                {
                  "nativeSrc": "34868:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34868:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "34882:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "34882:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "34893:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "34893:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "34878:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34878:3:84"
                    },
                    "nativeSrc": "34878:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34878:22:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "34872:2:84",
                      "nodeType": "YulTypedName",
                      "src": "34872:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "34940:16:84",
                    "nodeType": "YulBlock",
                    "src": "34940:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34949:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34949:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34952:1:84",
                              "nodeType": "YulLiteral",
                              "src": "34952:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34942:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "34942:6:84"
                          },
                          "nativeSrc": "34942:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "34942:12:84"
                        },
                        "nativeSrc": "34942:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "34942:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "34920:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "34920:7:84"
                          },
                          {
                            "name": "_2",
                            "nativeSrc": "34929:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "34929:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "34916:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "34916:3:84"
                        },
                        "nativeSrc": "34916:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "34916:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34934:4:84",
                        "nodeType": "YulLiteral",
                        "src": "34934:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "34912:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "34912:3:84"
                    },
                    "nativeSrc": "34912:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34912:27:84"
                  },
                  "nativeSrc": "34909:47:84",
                  "nodeType": "YulIf",
                  "src": "34909:47:84"
                },
                {
                  "nativeSrc": "34965:25:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34965:25:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "34985:4:84",
                        "nodeType": "YulLiteral",
                        "src": "34985:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "34979:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "34979:5:84"
                    },
                    "nativeSrc": "34979:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "34979:11:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "34969:6:84",
                      "nodeType": "YulTypedName",
                      "src": "34969:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "34999:35:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34999:35:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "35021:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "35021:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35029:4:84",
                        "nodeType": "YulLiteral",
                        "src": "35029:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "35017:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35017:3:84"
                    },
                    "nativeSrc": "35017:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35017:17:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "35003:10:84",
                      "nodeType": "YulTypedName",
                      "src": "35003:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35093:22:84",
                    "nodeType": "YulBlock",
                    "src": "35093:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "35095:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "35095:16:84"
                          },
                          "nativeSrc": "35095:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35095:18:84"
                        },
                        "nativeSrc": "35095:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35095:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "35052:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "35052:10:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "35064:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "35064:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "35049:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "35049:2:84"
                        },
                        "nativeSrc": "35049:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35049:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "35072:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "35072:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "35084:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35084:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "35069:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "35069:2:84"
                        },
                        "nativeSrc": "35069:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35069:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "35046:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "35046:2:84"
                    },
                    "nativeSrc": "35046:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35046:46:84"
                  },
                  "nativeSrc": "35043:72:84",
                  "nodeType": "YulIf",
                  "src": "35043:72:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "35131:4:84",
                        "nodeType": "YulLiteral",
                        "src": "35131:4:84",
                        "type": "",
                        "value": "0x40"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "35137:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "35137:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35124:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35124:6:84"
                    },
                    "nativeSrc": "35124:24:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35124:24:84"
                  },
                  "nativeSrc": "35124:24:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35124:24:84"
                },
                {
                  "nativeSrc": "35157:22:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35157:22:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "35176:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "35176:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35170:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "35170:5:84"
                    },
                    "nativeSrc": "35170:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35170:9:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "35161:5:84",
                      "nodeType": "YulTypedName",
                      "src": "35161:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35214:16:84",
                    "nodeType": "YulBlock",
                    "src": "35214:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35223:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35223:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35226:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35226:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35216:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35216:6:84"
                          },
                          "nativeSrc": "35216:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35216:12:84"
                        },
                        "nativeSrc": "35216:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35216:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "35201:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "35201:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35208:3:84",
                            "nodeType": "YulLiteral",
                            "src": "35208:3:84",
                            "type": "",
                            "value": "255"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "35198:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "35198:2:84"
                        },
                        "nativeSrc": "35198:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35198:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "35191:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35191:6:84"
                    },
                    "nativeSrc": "35191:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35191:22:84"
                  },
                  "nativeSrc": "35188:42:84",
                  "nodeType": "YulIf",
                  "src": "35188:42:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "35246:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "35246:6:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "35254:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "35254:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35239:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35239:6:84"
                    },
                    "nativeSrc": "35239:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35239:21:84"
                  },
                  "nativeSrc": "35239:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35239:21:84"
                },
                {
                  "nativeSrc": "35269:34:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35269:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_2",
                            "nativeSrc": "35295:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "35295:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35299:2:84",
                            "nodeType": "YulLiteral",
                            "src": "35299:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35291:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35291:3:84"
                        },
                        "nativeSrc": "35291:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35291:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35285:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "35285:5:84"
                    },
                    "nativeSrc": "35285:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35285:18:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "35273:8:84",
                      "nodeType": "YulTypedName",
                      "src": "35273:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35332:16:84",
                    "nodeType": "YulBlock",
                    "src": "35332:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35341:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35341:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35344:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35344:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35334:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35334:6:84"
                          },
                          "nativeSrc": "35334:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35334:12:84"
                        },
                        "nativeSrc": "35334:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35334:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "35318:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "35318:8:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "35328:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "35328:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "35315:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "35315:2:84"
                    },
                    "nativeSrc": "35315:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35315:16:84"
                  },
                  "nativeSrc": "35312:36:84",
                  "nodeType": "YulIf",
                  "src": "35312:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "35368:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35368:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35376:2:84",
                            "nodeType": "YulLiteral",
                            "src": "35376:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35364:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35364:3:84"
                        },
                        "nativeSrc": "35364:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35364:15:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "35414:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "35414:2:84"
                              },
                              {
                                "name": "offset_1",
                                "nativeSrc": "35418:8:84",
                                "nodeType": "YulIdentifier",
                                "src": "35418:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "35410:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "35410:3:84"
                            },
                            "nativeSrc": "35410:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "35410:17:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "35429:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "35429:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_string_fromMemory",
                          "nativeSrc": "35381:28:84",
                          "nodeType": "YulIdentifier",
                          "src": "35381:28:84"
                        },
                        "nativeSrc": "35381:56:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35381:56:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35357:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35357:6:84"
                    },
                    "nativeSrc": "35357:81:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35357:81:84"
                  },
                  "nativeSrc": "35357:81:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35357:81:84"
                },
                {
                  "nativeSrc": "35447:16:84",
                  "nodeType": "YulAssignment",
                  "src": "35447:16:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "35457:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "35457:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "35447:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "35447:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_ResultError_$16055_memory_ptr_fromMemory",
            "nativeSrc": "34567:902:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "34644:9:84",
                "nodeType": "YulTypedName",
                "src": "34644:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "34655:7:84",
                "nodeType": "YulTypedName",
                "src": "34655:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "34667:6:84",
                "nodeType": "YulTypedName",
                "src": "34667:6:84",
                "type": ""
              }
            ],
            "src": "34567:902:84"
          },
          {
            "body": {
              "nativeSrc": "35517:136:84",
              "nodeType": "YulBlock",
              "src": "35517:136:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "35562:85:84",
                    "nodeType": "YulBlock",
                    "src": "35562:85:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35591:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35591:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35594:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35594:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35597:1:84",
                              "nodeType": "YulLiteral",
                              "src": "35597:1:84",
                              "type": "",
                              "value": "4"
                            }
                          ],
                          "functionName": {
                            "name": "returndatacopy",
                            "nativeSrc": "35576:14:84",
                            "nodeType": "YulIdentifier",
                            "src": "35576:14:84"
                          },
                          "nativeSrc": "35576:23:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35576:23:84"
                        },
                        "nativeSrc": "35576:23:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "35576:23:84"
                      },
                      {
                        "nativeSrc": "35612:25:84",
                        "nodeType": "YulAssignment",
                        "src": "35612:25:84",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35623:3:84",
                              "nodeType": "YulLiteral",
                              "src": "35623:3:84",
                              "type": "",
                              "value": "224"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "35634:1:84",
                                  "nodeType": "YulLiteral",
                                  "src": "35634:1:84",
                                  "type": "",
                                  "value": "0"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "35628:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "35628:5:84"
                              },
                              "nativeSrc": "35628:8:84",
                              "nodeType": "YulFunctionCall",
                              "src": "35628:8:84"
                            }
                          ],
                          "functionName": {
                            "name": "shr",
                            "nativeSrc": "35619:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "35619:3:84"
                          },
                          "nativeSrc": "35619:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "35619:18:84"
                        },
                        "variableNames": [
                          {
                            "name": "sig",
                            "nativeSrc": "35612:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "35612:3:84"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [],
                        "functionName": {
                          "name": "returndatasize",
                          "nativeSrc": "35533:14:84",
                          "nodeType": "YulIdentifier",
                          "src": "35533:14:84"
                        },
                        "nativeSrc": "35533:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35533:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35551:1:84",
                        "nodeType": "YulLiteral",
                        "src": "35551:1:84",
                        "type": "",
                        "value": "3"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "35530:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "35530:2:84"
                    },
                    "nativeSrc": "35530:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35530:23:84"
                  },
                  "nativeSrc": "35527:120:84",
                  "nodeType": "YulIf",
                  "src": "35527:120:84"
                }
              ]
            },
            "name": "return_data_selector",
            "nativeSrc": "35474:179:84",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "sig",
                "nativeSrc": "35509:3:84",
                "nodeType": "YulTypedName",
                "src": "35509:3:84",
                "type": ""
              }
            ],
            "src": "35474:179:84"
          },
          {
            "body": {
              "nativeSrc": "35705:624:84",
              "nodeType": "YulBlock",
              "src": "35705:624:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "35745:9:84",
                    "nodeType": "YulBlock",
                    "src": "35745:9:84",
                    "statements": [
                      {
                        "nativeSrc": "35747:5:84",
                        "nodeType": "YulLeave",
                        "src": "35747:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [],
                        "functionName": {
                          "name": "returndatasize",
                          "nativeSrc": "35721:14:84",
                          "nodeType": "YulIdentifier",
                          "src": "35721:14:84"
                        },
                        "nativeSrc": "35721:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35721:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35739:4:84",
                        "nodeType": "YulLiteral",
                        "src": "35739:4:84",
                        "type": "",
                        "value": "0x44"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "35718:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "35718:2:84"
                    },
                    "nativeSrc": "35718:26:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35718:26:84"
                  },
                  "nativeSrc": "35715:39:84",
                  "nodeType": "YulIf",
                  "src": "35715:39:84"
                },
                {
                  "nativeSrc": "35763:21:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35763:21:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "35781:2:84",
                        "nodeType": "YulLiteral",
                        "src": "35781:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35775:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "35775:5:84"
                    },
                    "nativeSrc": "35775:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35775:9:84"
                  },
                  "variables": [
                    {
                      "name": "data",
                      "nativeSrc": "35767:4:84",
                      "nodeType": "YulTypedName",
                      "src": "35767:4:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "35793:16:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35793:16:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "35807:1:84",
                        "nodeType": "YulLiteral",
                        "src": "35807:1:84",
                        "type": "",
                        "value": "3"
                      }
                    ],
                    "functionName": {
                      "name": "not",
                      "nativeSrc": "35803:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "35803:3:84"
                    },
                    "nativeSrc": "35803:6:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35803:6:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "35797:2:84",
                      "nodeType": "YulTypedName",
                      "src": "35797:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "35833:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "35833:4:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35839:1:84",
                        "nodeType": "YulLiteral",
                        "src": "35839:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "returndatasize",
                              "nativeSrc": "35846:14:84",
                              "nodeType": "YulIdentifier",
                              "src": "35846:14:84"
                            },
                            "nativeSrc": "35846:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "35846:16:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "35864:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "35864:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35842:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "35842:3:84"
                        },
                        "nativeSrc": "35842:25:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35842:25:84"
                      }
                    ],
                    "functionName": {
                      "name": "returndatacopy",
                      "nativeSrc": "35818:14:84",
                      "nodeType": "YulIdentifier",
                      "src": "35818:14:84"
                    },
                    "nativeSrc": "35818:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35818:50:84"
                  },
                  "nativeSrc": "35818:50:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "35818:50:84"
                },
                {
                  "nativeSrc": "35877:25:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35877:25:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "35897:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "35897:4:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35891:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "35891:5:84"
                    },
                    "nativeSrc": "35891:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35891:11:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "35881:6:84",
                      "nodeType": "YulTypedName",
                      "src": "35881:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "35911:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35911:26:84",
                  "value": {
                    "arguments": [],
                    "functionName": {
                      "name": "returndatasize",
                      "nativeSrc": "35921:14:84",
                      "nodeType": "YulIdentifier",
                      "src": "35921:14:84"
                    },
                    "nativeSrc": "35921:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35921:16:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "35915:2:84",
                      "nodeType": "YulTypedName",
                      "src": "35915:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "35946:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35946:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "35956:18:84",
                    "nodeType": "YulLiteral",
                    "src": "35956:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "35950:2:84",
                      "nodeType": "YulTypedName",
                      "src": "35950:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "36032:9:84",
                    "nodeType": "YulBlock",
                    "src": "36032:9:84",
                    "statements": [
                      {
                        "nativeSrc": "36034:5:84",
                        "nodeType": "YulLeave",
                        "src": "36034:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "35992:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "35992:6:84"
                          },
                          {
                            "name": "_3",
                            "nativeSrc": "36000:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "36000:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "35989:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "35989:2:84"
                        },
                        "nativeSrc": "35989:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "35989:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "36012:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "36012:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "36020:4:84",
                                "nodeType": "YulLiteral",
                                "src": "36020:4:84",
                                "type": "",
                                "value": "0x24"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "36008:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "36008:3:84"
                            },
                            "nativeSrc": "36008:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "36008:17:84"
                          },
                          {
                            "name": "_2",
                            "nativeSrc": "36027:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "36027:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "36005:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "36005:2:84"
                        },
                        "nativeSrc": "36005:25:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36005:25:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "35986:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "35986:2:84"
                    },
                    "nativeSrc": "35986:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "35986:45:84"
                  },
                  "nativeSrc": "35983:58:84",
                  "nodeType": "YulIf",
                  "src": "35983:58:84"
                },
                {
                  "nativeSrc": "36050:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36050:28:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "36065:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "36065:4:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "36071:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36071:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "36061:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36061:3:84"
                    },
                    "nativeSrc": "36061:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36061:17:84"
                  },
                  "variables": [
                    {
                      "name": "msg",
                      "nativeSrc": "36054:3:84",
                      "nodeType": "YulTypedName",
                      "src": "36054:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "36087:24:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36087:24:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "msg",
                        "nativeSrc": "36107:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "36107:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "36101:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "36101:5:84"
                    },
                    "nativeSrc": "36101:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36101:10:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "36091:6:84",
                      "nodeType": "YulTypedName",
                      "src": "36091:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "36138:9:84",
                    "nodeType": "YulBlock",
                    "src": "36138:9:84",
                    "statements": [
                      {
                        "nativeSrc": "36140:5:84",
                        "nodeType": "YulLeave",
                        "src": "36140:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "36126:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36126:6:84"
                      },
                      {
                        "name": "_3",
                        "nativeSrc": "36134:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "36134:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "36123:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "36123:2:84"
                    },
                    "nativeSrc": "36123:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36123:14:84"
                  },
                  "nativeSrc": "36120:27:84",
                  "nodeType": "YulIf",
                  "src": "36120:27:84"
                },
                {
                  "body": {
                    "nativeSrc": "36229:9:84",
                    "nodeType": "YulBlock",
                    "src": "36229:9:84",
                    "statements": [
                      {
                        "nativeSrc": "36231:5:84",
                        "nodeType": "YulLeave",
                        "src": "36231:5:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "msg",
                                "nativeSrc": "36170:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "36170:3:84"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "36175:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "36175:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "36166:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "36166:3:84"
                            },
                            "nativeSrc": "36166:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "36166:16:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36184:4:84",
                            "nodeType": "YulLiteral",
                            "src": "36184:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36162:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36162:3:84"
                        },
                        "nativeSrc": "36162:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36162:27:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "data",
                                "nativeSrc": "36199:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "36199:4:84"
                              },
                              {
                                "arguments": [],
                                "functionName": {
                                  "name": "returndatasize",
                                  "nativeSrc": "36205:14:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "36205:14:84"
                                },
                                "nativeSrc": "36205:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "36205:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "36195:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "36195:3:84"
                            },
                            "nativeSrc": "36195:27:84",
                            "nodeType": "YulFunctionCall",
                            "src": "36195:27:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "36224:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "36224:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36191:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36191:3:84"
                        },
                        "nativeSrc": "36191:36:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36191:36:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "36159:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "36159:2:84"
                    },
                    "nativeSrc": "36159:69:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36159:69:84"
                  },
                  "nativeSrc": "36156:82:84",
                  "nodeType": "YulIf",
                  "src": "36156:82:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "36267:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "36267:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "36281:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "36281:6:84"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "36289:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "36289:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "36277:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "36277:3:84"
                            },
                            "nativeSrc": "36277:19:84",
                            "nodeType": "YulFunctionCall",
                            "src": "36277:19:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36298:4:84",
                            "nodeType": "YulLiteral",
                            "src": "36298:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36273:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36273:3:84"
                        },
                        "nativeSrc": "36273:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36273:30:84"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "36247:19:84",
                      "nodeType": "YulIdentifier",
                      "src": "36247:19:84"
                    },
                    "nativeSrc": "36247:57:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36247:57:84"
                  },
                  "nativeSrc": "36247:57:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36247:57:84"
                },
                {
                  "nativeSrc": "36313:10:84",
                  "nodeType": "YulAssignment",
                  "src": "36313:10:84",
                  "value": {
                    "name": "msg",
                    "nativeSrc": "36320:3:84",
                    "nodeType": "YulIdentifier",
                    "src": "36320:3:84"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "36313:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36313:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "try_decode_error_message",
            "nativeSrc": "35658:671:84",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "35697:3:84",
                "nodeType": "YulTypedName",
                "src": "35697:3:84",
                "type": ""
              }
            ],
            "src": "35658:671:84"
          },
          {
            "body": {
              "nativeSrc": "36574:209:84",
              "nodeType": "YulBlock",
              "src": "36574:209:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "36591:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "36591:3:84"
                      },
                      {
                        "hexValue": "5769746e65744572726f72734c69623a20",
                        "kind": "string",
                        "nativeSrc": "36596:19:84",
                        "nodeType": "YulLiteral",
                        "src": "36596:19:84",
                        "type": "",
                        "value": "WitnetErrorsLib: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36584:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "36584:6:84"
                    },
                    "nativeSrc": "36584:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36584:32:84"
                  },
                  "nativeSrc": "36584:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36584:32:84"
                },
                {
                  "nativeSrc": "36625:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36625:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "36645:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36645:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "36639:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "36639:5:84"
                    },
                    "nativeSrc": "36639:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36639:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "36629:6:84",
                      "nodeType": "YulTypedName",
                      "src": "36629:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "36700:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "36700:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36708:4:84",
                            "nodeType": "YulLiteral",
                            "src": "36708:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36696:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36696:3:84"
                        },
                        "nativeSrc": "36696:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36696:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "36719:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "36719:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36724:2:84",
                            "nodeType": "YulLiteral",
                            "src": "36724:2:84",
                            "type": "",
                            "value": "17"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36715:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36715:3:84"
                        },
                        "nativeSrc": "36715:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36715:12:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "36729:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "36729:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "36661:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "36661:34:84"
                    },
                    "nativeSrc": "36661:75:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36661:75:84"
                  },
                  "nativeSrc": "36661:75:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "36661:75:84"
                },
                {
                  "nativeSrc": "36745:32:84",
                  "nodeType": "YulAssignment",
                  "src": "36745:32:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "36760:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "36760:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "36765:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "36765:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36756:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36756:3:84"
                        },
                        "nativeSrc": "36756:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36756:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36774:2:84",
                        "nodeType": "YulLiteral",
                        "src": "36774:2:84",
                        "type": "",
                        "value": "17"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "36752:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36752:3:84"
                    },
                    "nativeSrc": "36752:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36752:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "36745:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36745:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_adde32c7bb9bc1be59487f778ed1835d1b81ca43cc9a0e45fb54328008aec129_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "36334:449:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "36550:3:84",
                "nodeType": "YulTypedName",
                "src": "36550:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "36555:6:84",
                "nodeType": "YulTypedName",
                "src": "36555:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "36566:3:84",
                "nodeType": "YulTypedName",
                "src": "36566:3:84",
                "type": ""
              }
            ],
            "src": "36334:449:84"
          },
          {
            "body": {
              "nativeSrc": "36835:135:84",
              "nodeType": "YulBlock",
              "src": "36835:135:84",
              "statements": [
                {
                  "nativeSrc": "36845:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36845:30:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "36855:20:84",
                    "nodeType": "YulLiteral",
                    "src": "36855:20:84",
                    "type": "",
                    "value": "0xffffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "36849:2:84",
                      "nodeType": "YulTypedName",
                      "src": "36849:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "36884:34:84",
                  "nodeType": "YulAssignment",
                  "src": "36884:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "36899:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "36899:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "36902:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "36902:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "36895:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36895:3:84"
                        },
                        "nativeSrc": "36895:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36895:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "36911:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "36911:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "36914:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "36914:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "36907:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "36907:3:84"
                        },
                        "nativeSrc": "36907:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "36907:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "36891:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36891:3:84"
                    },
                    "nativeSrc": "36891:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36891:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "36884:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "36884:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "36942:22:84",
                    "nodeType": "YulBlock",
                    "src": "36942:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "36944:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "36944:16:84"
                          },
                          "nativeSrc": "36944:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "36944:18:84"
                        },
                        "nativeSrc": "36944:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "36944:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "36933:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "36933:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "36938:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "36938:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "36930:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "36930:2:84"
                    },
                    "nativeSrc": "36930:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "36930:11:84"
                  },
                  "nativeSrc": "36927:37:84",
                  "nodeType": "YulIf",
                  "src": "36927:37:84"
                }
              ]
            },
            "name": "checked_add_t_uint72",
            "nativeSrc": "36788:182:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "36818:1:84",
                "nodeType": "YulTypedName",
                "src": "36818:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "36821:1:84",
                "nodeType": "YulTypedName",
                "src": "36821:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "36827:3:84",
                "nodeType": "YulTypedName",
                "src": "36827:3:84",
                "type": ""
              }
            ],
            "src": "36788:182:84"
          },
          {
            "body": {
              "nativeSrc": "37103:146:84",
              "nodeType": "YulBlock",
              "src": "37103:146:84",
              "statements": [
                {
                  "nativeSrc": "37113:26:84",
                  "nodeType": "YulAssignment",
                  "src": "37113:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37125:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "37125:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37136:2:84",
                        "nodeType": "YulLiteral",
                        "src": "37136:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37121:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "37121:3:84"
                    },
                    "nativeSrc": "37121:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37121:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "37113:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "37113:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37155:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "37155:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "37166:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37166:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37148:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37148:6:84"
                    },
                    "nativeSrc": "37148:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37148:25:84"
                  },
                  "nativeSrc": "37148:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37148:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "37193:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "37193:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37204:2:84",
                            "nodeType": "YulLiteral",
                            "src": "37204:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37189:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37189:3:84"
                        },
                        "nativeSrc": "37189:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37189:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "37213:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "37213:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37221:20:84",
                            "nodeType": "YulLiteral",
                            "src": "37221:20:84",
                            "type": "",
                            "value": "0xffffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "37209:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37209:3:84"
                        },
                        "nativeSrc": "37209:33:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37209:33:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37182:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37182:6:84"
                    },
                    "nativeSrc": "37182:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37182:61:84"
                  },
                  "nativeSrc": "37182:61:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37182:61:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint72__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "36975:274:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "37064:9:84",
                "nodeType": "YulTypedName",
                "src": "37064:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "37075:6:84",
                "nodeType": "YulTypedName",
                "src": "37075:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "37083:6:84",
                "nodeType": "YulTypedName",
                "src": "37083:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "37094:4:84",
                "nodeType": "YulTypedName",
                "src": "37094:4:84",
                "type": ""
              }
            ],
            "src": "36975:274:84"
          },
          {
            "body": {
              "nativeSrc": "37411:162:84",
              "nodeType": "YulBlock",
              "src": "37411:162:84",
              "statements": [
                {
                  "nativeSrc": "37421:26:84",
                  "nodeType": "YulAssignment",
                  "src": "37421:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37433:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "37433:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37444:2:84",
                        "nodeType": "YulLiteral",
                        "src": "37444:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37429:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "37429:3:84"
                    },
                    "nativeSrc": "37429:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37429:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "37421:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "37421:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37463:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "37463:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "37474:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37474:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37456:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37456:6:84"
                    },
                    "nativeSrc": "37456:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37456:25:84"
                  },
                  "nativeSrc": "37456:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37456:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "37501:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "37501:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37512:2:84",
                            "nodeType": "YulLiteral",
                            "src": "37512:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37497:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37497:3:84"
                        },
                        "nativeSrc": "37497:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37497:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "37517:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37517:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37490:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37490:6:84"
                    },
                    "nativeSrc": "37490:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37490:34:84"
                  },
                  "nativeSrc": "37490:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37490:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "37544:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "37544:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37555:2:84",
                            "nodeType": "YulLiteral",
                            "src": "37555:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37540:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37540:3:84"
                        },
                        "nativeSrc": "37540:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37540:18:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "37560:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37560:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37533:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37533:6:84"
                    },
                    "nativeSrc": "37533:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37533:34:84"
                  },
                  "nativeSrc": "37533:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37533:34:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "37254:319:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "37364:9:84",
                "nodeType": "YulTypedName",
                "src": "37364:9:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "37375:6:84",
                "nodeType": "YulTypedName",
                "src": "37375:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "37383:6:84",
                "nodeType": "YulTypedName",
                "src": "37383:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "37391:6:84",
                "nodeType": "YulTypedName",
                "src": "37391:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "37402:4:84",
                "nodeType": "YulTypedName",
                "src": "37402:4:84",
                "type": ""
              }
            ],
            "src": "37254:319:84"
          },
          {
            "body": {
              "nativeSrc": "37839:506:84",
              "nodeType": "YulBlock",
              "src": "37839:506:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "37856:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "37856:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "37867:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37867:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37849:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37849:6:84"
                    },
                    "nativeSrc": "37849:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37849:25:84"
                  },
                  "nativeSrc": "37849:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37849:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "37894:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "37894:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37905:2:84",
                            "nodeType": "YulLiteral",
                            "src": "37905:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37890:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37890:3:84"
                        },
                        "nativeSrc": "37890:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37890:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37910:3:84",
                        "nodeType": "YulLiteral",
                        "src": "37910:3:84",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37883:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37883:6:84"
                    },
                    "nativeSrc": "37883:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37883:31:84"
                  },
                  "nativeSrc": "37883:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37883:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "37934:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "37934:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37945:3:84",
                            "nodeType": "YulLiteral",
                            "src": "37945:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37930:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37930:3:84"
                        },
                        "nativeSrc": "37930:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37930:19:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "37951:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "37951:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37923:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "37923:6:84"
                    },
                    "nativeSrc": "37923:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37923:35:84"
                  },
                  "nativeSrc": "37923:35:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37923:35:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "37984:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "37984:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37995:3:84",
                            "nodeType": "YulLiteral",
                            "src": "37995:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37980:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "37980:3:84"
                        },
                        "nativeSrc": "37980:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "37980:19:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "38001:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38001:6:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "38009:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38009:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "37967:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "37967:12:84"
                    },
                    "nativeSrc": "37967:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "37967:49:84"
                  },
                  "nativeSrc": "37967:49:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "37967:49:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "38040:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "38040:9:84"
                              },
                              {
                                "name": "value2",
                                "nativeSrc": "38051:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "38051:6:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "38036:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "38036:3:84"
                            },
                            "nativeSrc": "38036:22:84",
                            "nodeType": "YulFunctionCall",
                            "src": "38036:22:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38060:3:84",
                            "nodeType": "YulLiteral",
                            "src": "38060:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38032:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38032:3:84"
                        },
                        "nativeSrc": "38032:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38032:32:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38066:1:84",
                        "nodeType": "YulLiteral",
                        "src": "38066:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38025:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38025:6:84"
                    },
                    "nativeSrc": "38025:43:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38025:43:84"
                  },
                  "nativeSrc": "38025:43:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38025:43:84"
                },
                {
                  "nativeSrc": "38077:55:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38077:55:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "38091:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "38091:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value2",
                                "nativeSrc": "38110:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "38110:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "38118:2:84",
                                "nodeType": "YulLiteral",
                                "src": "38118:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "38106:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "38106:3:84"
                            },
                            "nativeSrc": "38106:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "38106:15:84"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "38127:2:84",
                                "nodeType": "YulLiteral",
                                "src": "38127:2:84",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "38123:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "38123:3:84"
                            },
                            "nativeSrc": "38123:7:84",
                            "nodeType": "YulFunctionCall",
                            "src": "38123:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "38102:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38102:3:84"
                        },
                        "nativeSrc": "38102:29:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38102:29:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "38087:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "38087:3:84"
                    },
                    "nativeSrc": "38087:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38087:45:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "38081:2:84",
                      "nodeType": "YulTypedName",
                      "src": "38081:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "38152:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "38152:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38163:2:84",
                            "nodeType": "YulLiteral",
                            "src": "38163:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38148:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38148:3:84"
                        },
                        "nativeSrc": "38148:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38148:18:84"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "38168:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38168:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38141:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38141:6:84"
                    },
                    "nativeSrc": "38141:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38141:34:84"
                  },
                  "nativeSrc": "38141:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38141:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "38195:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "38195:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38206:2:84",
                            "nodeType": "YulLiteral",
                            "src": "38206:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38191:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38191:3:84"
                        },
                        "nativeSrc": "38191:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38191:18:84"
                      },
                      {
                        "name": "value4",
                        "nativeSrc": "38211:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38211:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38184:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38184:6:84"
                    },
                    "nativeSrc": "38184:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38184:34:84"
                  },
                  "nativeSrc": "38184:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38184:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "38238:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "38238:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38249:3:84",
                            "nodeType": "YulLiteral",
                            "src": "38249:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38234:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38234:3:84"
                        },
                        "nativeSrc": "38234:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38234:19:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "38263:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "38263:2:84"
                              },
                              {
                                "name": "headStart",
                                "nativeSrc": "38267:9:84",
                                "nodeType": "YulIdentifier",
                                "src": "38267:9:84"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "38259:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "38259:3:84"
                            },
                            "nativeSrc": "38259:18:84",
                            "nodeType": "YulFunctionCall",
                            "src": "38259:18:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38279:3:84",
                            "nodeType": "YulLiteral",
                            "src": "38279:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38255:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38255:3:84"
                        },
                        "nativeSrc": "38255:28:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38255:28:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "38227:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38227:6:84"
                    },
                    "nativeSrc": "38227:57:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38227:57:84"
                  },
                  "nativeSrc": "38227:57:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38227:57:84"
                },
                {
                  "nativeSrc": "38293:46:84",
                  "nodeType": "YulAssignment",
                  "src": "38293:46:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value5",
                        "nativeSrc": "38318:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "38318:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "38330:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "38330:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38334:3:84",
                            "nodeType": "YulLiteral",
                            "src": "38334:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "38326:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38326:3:84"
                        },
                        "nativeSrc": "38326:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38326:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "38301:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "38301:16:84"
                    },
                    "nativeSrc": "38301:38:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38301:38:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "38293:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "38293:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_bytes_calldata_ptr_t_uint256_t_uint256_t_string_memory_ptr__to_t_uint256_t_bytes_memory_ptr_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "37578:767:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "37768:9:84",
                "nodeType": "YulTypedName",
                "src": "37768:9:84",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "37779:6:84",
                "nodeType": "YulTypedName",
                "src": "37779:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "37787:6:84",
                "nodeType": "YulTypedName",
                "src": "37787:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "37795:6:84",
                "nodeType": "YulTypedName",
                "src": "37795:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "37803:6:84",
                "nodeType": "YulTypedName",
                "src": "37803:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "37811:6:84",
                "nodeType": "YulTypedName",
                "src": "37811:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "37819:6:84",
                "nodeType": "YulTypedName",
                "src": "37819:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "37830:4:84",
                "nodeType": "YulTypedName",
                "src": "37830:4:84",
                "type": ""
              }
            ],
            "src": "37578:767:84"
          },
          {
            "body": {
              "nativeSrc": "38419:176:84",
              "nodeType": "YulBlock",
              "src": "38419:176:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "38465:16:84",
                    "nodeType": "YulBlock",
                    "src": "38465:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "38474:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38474:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38477:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38477:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "38467:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "38467:6:84"
                          },
                          "nativeSrc": "38467:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "38467:12:84"
                        },
                        "nativeSrc": "38467:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "38467:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "38440:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "38440:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "38449:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "38449:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "38436:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38436:3:84"
                        },
                        "nativeSrc": "38436:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38436:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38461:2:84",
                        "nodeType": "YulLiteral",
                        "src": "38461:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "38432:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "38432:3:84"
                    },
                    "nativeSrc": "38432:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38432:32:84"
                  },
                  "nativeSrc": "38429:52:84",
                  "nodeType": "YulIf",
                  "src": "38429:52:84"
                },
                {
                  "nativeSrc": "38490:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38490:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "38516:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "38516:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "38503:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "38503:12:84"
                    },
                    "nativeSrc": "38503:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38503:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "38494:5:84",
                      "nodeType": "YulTypedName",
                      "src": "38494:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "38559:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "38559:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "38535:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "38535:23:84"
                    },
                    "nativeSrc": "38535:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38535:30:84"
                  },
                  "nativeSrc": "38535:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38535:30:84"
                },
                {
                  "nativeSrc": "38574:15:84",
                  "nodeType": "YulAssignment",
                  "src": "38574:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "38584:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "38584:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "38574:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38574:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint64",
            "nativeSrc": "38350:245:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "38385:9:84",
                "nodeType": "YulTypedName",
                "src": "38385:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "38396:7:84",
                "nodeType": "YulTypedName",
                "src": "38396:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "38408:6:84",
                "nodeType": "YulTypedName",
                "src": "38408:6:84",
                "type": ""
              }
            ],
            "src": "38350:245:84"
          },
          {
            "body": {
              "nativeSrc": "38668:175:84",
              "nodeType": "YulBlock",
              "src": "38668:175:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "38714:16:84",
                    "nodeType": "YulBlock",
                    "src": "38714:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "38723:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38723:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38726:1:84",
                              "nodeType": "YulLiteral",
                              "src": "38726:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "38716:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "38716:6:84"
                          },
                          "nativeSrc": "38716:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "38716:12:84"
                        },
                        "nativeSrc": "38716:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "38716:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "38689:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "38689:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "38698:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "38698:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "38685:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38685:3:84"
                        },
                        "nativeSrc": "38685:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38685:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38710:2:84",
                        "nodeType": "YulLiteral",
                        "src": "38710:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "38681:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "38681:3:84"
                    },
                    "nativeSrc": "38681:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38681:32:84"
                  },
                  "nativeSrc": "38678:52:84",
                  "nodeType": "YulIf",
                  "src": "38678:52:84"
                },
                {
                  "nativeSrc": "38739:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38739:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "38765:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "38765:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "38752:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "38752:12:84"
                    },
                    "nativeSrc": "38752:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38752:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "38743:5:84",
                      "nodeType": "YulTypedName",
                      "src": "38743:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "38807:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "38807:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "38784:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "38784:22:84"
                    },
                    "nativeSrc": "38784:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38784:29:84"
                  },
                  "nativeSrc": "38784:29:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "38784:29:84"
                },
                {
                  "nativeSrc": "38822:15:84",
                  "nodeType": "YulAssignment",
                  "src": "38822:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "38832:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "38832:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "38822:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "38822:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint8",
            "nativeSrc": "38600:243:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "38634:9:84",
                "nodeType": "YulTypedName",
                "src": "38634:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "38645:7:84",
                "nodeType": "YulTypedName",
                "src": "38645:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "38657:6:84",
                "nodeType": "YulTypedName",
                "src": "38657:6:84",
                "type": ""
              }
            ],
            "src": "38600:243:84"
          },
          {
            "body": {
              "nativeSrc": "38895:88:84",
              "nodeType": "YulBlock",
              "src": "38895:88:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "38926:22:84",
                    "nodeType": "YulBlock",
                    "src": "38926:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "38928:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "38928:16:84"
                          },
                          "nativeSrc": "38928:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "38928:18:84"
                        },
                        "nativeSrc": "38928:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "38928:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "38911:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "38911:5:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "38922:1:84",
                            "nodeType": "YulLiteral",
                            "src": "38922:1:84",
                            "type": "",
                            "value": "0"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "38918:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "38918:3:84"
                        },
                        "nativeSrc": "38918:6:84",
                        "nodeType": "YulFunctionCall",
                        "src": "38918:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "38908:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "38908:2:84"
                    },
                    "nativeSrc": "38908:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38908:17:84"
                  },
                  "nativeSrc": "38905:43:84",
                  "nodeType": "YulIf",
                  "src": "38905:43:84"
                },
                {
                  "nativeSrc": "38957:20:84",
                  "nodeType": "YulAssignment",
                  "src": "38957:20:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "38968:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "38968:5:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38975:1:84",
                        "nodeType": "YulLiteral",
                        "src": "38975:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "38964:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "38964:3:84"
                    },
                    "nativeSrc": "38964:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "38964:13:84"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "38957:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "38957:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "increment_t_uint256",
            "nativeSrc": "38848:135:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "38877:5:84",
                "nodeType": "YulTypedName",
                "src": "38877:5:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "38887:3:84",
                "nodeType": "YulTypedName",
                "src": "38887:3:84",
                "type": ""
              }
            ],
            "src": "38848:135:84"
          },
          {
            "body": {
              "nativeSrc": "39119:411:84",
              "nodeType": "YulBlock",
              "src": "39119:411:84",
              "statements": [
                {
                  "nativeSrc": "39129:34:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39129:34:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "39157:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "39157:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "39144:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "39144:12:84"
                    },
                    "nativeSrc": "39144:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39144:19:84"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "39133:7:84",
                      "nodeType": "YulTypedName",
                      "src": "39133:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "39195:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "39195:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint8",
                      "nativeSrc": "39172:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "39172:22:84"
                    },
                    "nativeSrc": "39172:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39172:31:84"
                  },
                  "nativeSrc": "39172:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39172:31:84"
                },
                {
                  "nativeSrc": "39212:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39212:28:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "39226:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "39226:7:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "39235:4:84",
                        "nodeType": "YulLiteral",
                        "src": "39235:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "39222:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39222:3:84"
                    },
                    "nativeSrc": "39222:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39222:18:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "39216:2:84",
                      "nodeType": "YulTypedName",
                      "src": "39216:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "39249:21:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39249:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "39265:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "39265:4:84"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "39259:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "39259:5:84"
                    },
                    "nativeSrc": "39259:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39259:11:84"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "39253:2:84",
                      "nodeType": "YulTypedName",
                      "src": "39253:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "39286:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "39286:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "39299:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "39299:2:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "39307:3:84",
                                    "nodeType": "YulLiteral",
                                    "src": "39307:3:84",
                                    "type": "",
                                    "value": "255"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "39303:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "39303:3:84"
                                },
                                "nativeSrc": "39303:8:84",
                                "nodeType": "YulFunctionCall",
                                "src": "39303:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "39295:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "39295:3:84"
                            },
                            "nativeSrc": "39295:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "39295:17:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "39314:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "39314:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "39292:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "39292:2:84"
                        },
                        "nativeSrc": "39292:25:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39292:25:84"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "39279:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "39279:6:84"
                    },
                    "nativeSrc": "39279:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39279:39:84"
                  },
                  "nativeSrc": "39279:39:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39279:39:84"
                },
                {
                  "nativeSrc": "39327:43:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39327:43:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "39359:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "39359:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39366:2:84",
                            "nodeType": "YulLiteral",
                            "src": "39366:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39355:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39355:3:84"
                        },
                        "nativeSrc": "39355:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39355:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "39342:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "39342:12:84"
                    },
                    "nativeSrc": "39342:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39342:28:84"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "39331:7:84",
                      "nodeType": "YulTypedName",
                      "src": "39331:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "39403:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "39403:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "39379:23:84",
                      "nodeType": "YulIdentifier",
                      "src": "39379:23:84"
                    },
                    "nativeSrc": "39379:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39379:32:84"
                  },
                  "nativeSrc": "39379:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39379:32:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "39427:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "39427:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "_2",
                                    "nativeSrc": "39443:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "39443:2:84"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "39451:20:84",
                                        "nodeType": "YulLiteral",
                                        "src": "39451:20:84",
                                        "type": "",
                                        "value": "0xffffffffffffffffff"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "not",
                                      "nativeSrc": "39447:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "39447:3:84"
                                    },
                                    "nativeSrc": "39447:25:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "39447:25:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "and",
                                  "nativeSrc": "39439:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "39439:3:84"
                                },
                                "nativeSrc": "39439:34:84",
                                "nodeType": "YulFunctionCall",
                                "src": "39439:34:84"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "39475:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "39475:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "or",
                              "nativeSrc": "39436:2:84",
                              "nodeType": "YulIdentifier",
                              "src": "39436:2:84"
                            },
                            "nativeSrc": "39436:42:84",
                            "nodeType": "YulFunctionCall",
                            "src": "39436:42:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "39488:1:84",
                                    "nodeType": "YulLiteral",
                                    "src": "39488:1:84",
                                    "type": "",
                                    "value": "8"
                                  },
                                  {
                                    "name": "value_2",
                                    "nativeSrc": "39491:7:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "39491:7:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "39484:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "39484:3:84"
                                },
                                "nativeSrc": "39484:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "39484:15:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "39501:20:84",
                                "nodeType": "YulLiteral",
                                "src": "39501:20:84",
                                "type": "",
                                "value": "0xffffffffffffffff00"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "39480:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "39480:3:84"
                            },
                            "nativeSrc": "39480:42:84",
                            "nodeType": "YulFunctionCall",
                            "src": "39480:42:84"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "39433:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "39433:2:84"
                        },
                        "nativeSrc": "39433:90:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39433:90:84"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "39420:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "39420:6:84"
                    },
                    "nativeSrc": "39420:104:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39420:104:84"
                  },
                  "nativeSrc": "39420:104:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39420:104:84"
                }
              ]
            },
            "name": "update_storage_value_offset_0t_struct$_RadonSLA_$23503_calldata_ptr_to_t_struct$_RadonSLA_$23503_storage",
            "nativeSrc": "38988:542:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "39102:4:84",
                "nodeType": "YulTypedName",
                "src": "39102:4:84",
                "type": ""
              },
              {
                "name": "value",
                "nativeSrc": "39108:5:84",
                "nodeType": "YulTypedName",
                "src": "39108:5:84",
                "type": ""
              }
            ],
            "src": "38988:542:84"
          },
          {
            "body": {
              "nativeSrc": "39586:206:84",
              "nodeType": "YulBlock",
              "src": "39586:206:84",
              "statements": [
                {
                  "nativeSrc": "39596:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39596:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "39606:18:84",
                    "nodeType": "YulLiteral",
                    "src": "39606:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "39600:2:84",
                      "nodeType": "YulTypedName",
                      "src": "39600:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "39633:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39633:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "39660:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "39660:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "39663:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "39663:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "39656:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39656:3:84"
                        },
                        "nativeSrc": "39656:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39656:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "39672:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "39672:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "39675:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "39675:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "39668:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39668:3:84"
                        },
                        "nativeSrc": "39668:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39668:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "39652:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39652:3:84"
                    },
                    "nativeSrc": "39652:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39652:27:84"
                  },
                  "variables": [
                    {
                      "name": "product_raw",
                      "nativeSrc": "39637:11:84",
                      "nodeType": "YulTypedName",
                      "src": "39637:11:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "39688:31:84",
                  "nodeType": "YulAssignment",
                  "src": "39688:31:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "product_raw",
                        "nativeSrc": "39703:11:84",
                        "nodeType": "YulIdentifier",
                        "src": "39703:11:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "39716:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "39716:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "39699:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "39699:3:84"
                    },
                    "nativeSrc": "39699:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39699:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "39688:7:84",
                      "nodeType": "YulIdentifier",
                      "src": "39688:7:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "39764:22:84",
                    "nodeType": "YulBlock",
                    "src": "39764:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "39766:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "39766:16:84"
                          },
                          "nativeSrc": "39766:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "39766:18:84"
                        },
                        "nativeSrc": "39766:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "39766:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "product",
                            "nativeSrc": "39741:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "39741:7:84"
                          },
                          {
                            "name": "product_raw",
                            "nativeSrc": "39750:11:84",
                            "nodeType": "YulIdentifier",
                            "src": "39750:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "39738:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "39738:2:84"
                        },
                        "nativeSrc": "39738:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39738:24:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "39731:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "39731:6:84"
                    },
                    "nativeSrc": "39731:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39731:32:84"
                  },
                  "nativeSrc": "39728:58:84",
                  "nodeType": "YulIf",
                  "src": "39728:58:84"
                }
              ]
            },
            "name": "checked_mul_t_uint64",
            "nativeSrc": "39535:257:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "39565:1:84",
                "nodeType": "YulTypedName",
                "src": "39565:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "39568:1:84",
                "nodeType": "YulTypedName",
                "src": "39568:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "39574:7:84",
                "nodeType": "YulTypedName",
                "src": "39574:7:84",
                "type": ""
              }
            ],
            "src": "39535:257:84"
          },
          {
            "body": {
              "nativeSrc": "39852:724:84",
              "nodeType": "YulBlock",
              "src": "39852:724:84",
              "statements": [
                {
                  "nativeSrc": "39862:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39862:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "39888:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "39888:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "39882:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "39882:5:84"
                    },
                    "nativeSrc": "39882:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39882:12:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "39866:12:84",
                      "nodeType": "YulTypedName",
                      "src": "39866:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "39910:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "39910:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "39915:4:84",
                        "nodeType": "YulLiteral",
                        "src": "39915:4:84",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39903:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "39903:6:84"
                    },
                    "nativeSrc": "39903:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39903:17:84"
                  },
                  "nativeSrc": "39903:17:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39903:17:84"
                },
                {
                  "nativeSrc": "39929:41:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "39929:41:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "39957:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "39957:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "39951:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "39951:5:84"
                    },
                    "nativeSrc": "39951:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39951:19:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_1",
                      "nativeSrc": "39933:14:84",
                      "nodeType": "YulTypedName",
                      "src": "39933:14:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "39990:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "39990:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39995:4:84",
                            "nodeType": "YulLiteral",
                            "src": "39995:4:84",
                            "type": "",
                            "value": "0xc0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39986:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "39986:3:84"
                        },
                        "nativeSrc": "39986:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "39986:14:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40002:4:84",
                        "nodeType": "YulLiteral",
                        "src": "40002:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39979:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "39979:6:84"
                    },
                    "nativeSrc": "39979:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "39979:28:84"
                  },
                  "nativeSrc": "39979:28:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "39979:28:84"
                },
                {
                  "nativeSrc": "40016:59:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40016:59:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0_1",
                        "nativeSrc": "40045:14:84",
                        "nodeType": "YulIdentifier",
                        "src": "40045:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40065:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40065:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40070:3:84",
                            "nodeType": "YulLiteral",
                            "src": "40070:3:84",
                            "type": "",
                            "value": "256"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40061:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40061:3:84"
                        },
                        "nativeSrc": "40061:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40061:13:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "40028:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "40028:16:84"
                    },
                    "nativeSrc": "40028:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40028:47:84"
                  },
                  "variables": [
                    {
                      "name": "tail",
                      "nativeSrc": "40020:4:84",
                      "nodeType": "YulTypedName",
                      "src": "40020:4:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40095:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40095:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40100:3:84",
                            "nodeType": "YulLiteral",
                            "src": "40100:3:84",
                            "type": "",
                            "value": "224"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40091:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40091:3:84"
                        },
                        "nativeSrc": "40091:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40091:13:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memberValue0",
                                "nativeSrc": "40116:12:84",
                                "nodeType": "YulIdentifier",
                                "src": "40116:12:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "40130:4:84",
                                "nodeType": "YulLiteral",
                                "src": "40130:4:84",
                                "type": "",
                                "value": "0x20"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "40112:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "40112:3:84"
                            },
                            "nativeSrc": "40112:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40112:23:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "40106:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "40106:5:84"
                        },
                        "nativeSrc": "40106:30:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40106:30:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40084:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40084:6:84"
                    },
                    "nativeSrc": "40084:53:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40084:53:84"
                  },
                  "nativeSrc": "40084:53:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40084:53:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40157:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40157:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40162:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40162:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40153:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40153:3:84"
                        },
                        "nativeSrc": "40153:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40153:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "40183:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "40183:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "40190:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "40190:4:84",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "40179:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "40179:3:84"
                                },
                                "nativeSrc": "40179:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "40179:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "40173:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "40173:5:84"
                            },
                            "nativeSrc": "40173:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40173:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40198:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40198:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40169:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40169:3:84"
                        },
                        "nativeSrc": "40169:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40169:34:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40146:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40146:6:84"
                    },
                    "nativeSrc": "40146:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40146:58:84"
                  },
                  "nativeSrc": "40146:58:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40146:58:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40224:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40224:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40229:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40229:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40220:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40220:3:84"
                        },
                        "nativeSrc": "40220:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40220:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "40250:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "40250:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "40257:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "40257:4:84",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "40246:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "40246:3:84"
                                },
                                "nativeSrc": "40246:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "40246:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "40240:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "40240:5:84"
                            },
                            "nativeSrc": "40240:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40240:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40265:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40265:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40236:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40236:3:84"
                        },
                        "nativeSrc": "40236:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40236:34:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40213:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40213:6:84"
                    },
                    "nativeSrc": "40213:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40213:58:84"
                  },
                  "nativeSrc": "40213:58:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40213:58:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40291:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40291:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40296:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40296:4:84",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40287:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40287:3:84"
                        },
                        "nativeSrc": "40287:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40287:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "40317:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "40317:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "40324:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "40324:4:84",
                                    "type": "",
                                    "value": "0x60"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "40313:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "40313:3:84"
                                },
                                "nativeSrc": "40313:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "40313:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "40307:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "40307:5:84"
                            },
                            "nativeSrc": "40307:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40307:23:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40332:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40332:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40303:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40303:3:84"
                        },
                        "nativeSrc": "40303:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40303:34:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40280:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40280:6:84"
                    },
                    "nativeSrc": "40280:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40280:58:84"
                  },
                  "nativeSrc": "40280:58:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40280:58:84"
                },
                {
                  "nativeSrc": "40347:45:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40347:45:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "40379:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "40379:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40386:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40386:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40375:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40375:3:84"
                        },
                        "nativeSrc": "40375:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40375:16:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "40369:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "40369:5:84"
                    },
                    "nativeSrc": "40369:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40369:23:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_2",
                      "nativeSrc": "40351:14:84",
                      "nodeType": "YulTypedName",
                      "src": "40351:14:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "40401:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40401:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "40411:18:84",
                    "nodeType": "YulLiteral",
                    "src": "40411:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "40405:2:84",
                      "nodeType": "YulTypedName",
                      "src": "40405:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40449:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40449:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40454:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40454:4:84",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40445:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40445:3:84"
                        },
                        "nativeSrc": "40445:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40445:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "memberValue0_2",
                            "nativeSrc": "40465:14:84",
                            "nodeType": "YulIdentifier",
                            "src": "40465:14:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "40481:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "40481:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40461:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40461:3:84"
                        },
                        "nativeSrc": "40461:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40461:23:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40438:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40438:6:84"
                    },
                    "nativeSrc": "40438:47:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40438:47:84"
                  },
                  "nativeSrc": "40438:47:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40438:47:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "40505:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "40505:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40510:4:84",
                            "nodeType": "YulLiteral",
                            "src": "40510:4:84",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40501:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40501:3:84"
                        },
                        "nativeSrc": "40501:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40501:14:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "40531:5:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "40531:5:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "40538:4:84",
                                    "nodeType": "YulLiteral",
                                    "src": "40538:4:84",
                                    "type": "",
                                    "value": "0xa0"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "40527:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "40527:3:84"
                                },
                                "nativeSrc": "40527:16:84",
                                "nodeType": "YulFunctionCall",
                                "src": "40527:16:84"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "40521:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "40521:5:84"
                            },
                            "nativeSrc": "40521:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "40521:23:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "40546:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "40546:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40517:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40517:3:84"
                        },
                        "nativeSrc": "40517:32:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40517:32:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40494:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40494:6:84"
                    },
                    "nativeSrc": "40494:56:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40494:56:84"
                  },
                  "nativeSrc": "40494:56:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40494:56:84"
                },
                {
                  "nativeSrc": "40559:11:84",
                  "nodeType": "YulAssignment",
                  "src": "40559:11:84",
                  "value": {
                    "name": "tail",
                    "nativeSrc": "40566:4:84",
                    "nodeType": "YulIdentifier",
                    "src": "40566:4:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "40559:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "40559:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_struct_CBOR",
            "nativeSrc": "39797:779:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "39829:5:84",
                "nodeType": "YulTypedName",
                "src": "39829:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "39836:3:84",
                "nodeType": "YulTypedName",
                "src": "39836:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "39844:3:84",
                "nodeType": "YulTypedName",
                "src": "39844:3:84",
                "type": ""
              }
            ],
            "src": "39797:779:84"
          },
          {
            "body": {
              "nativeSrc": "40886:374:84",
              "nodeType": "YulBlock",
              "src": "40886:374:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "40903:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "40903:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "40914:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "40914:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40896:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40896:6:84"
                    },
                    "nativeSrc": "40896:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40896:25:84"
                  },
                  "nativeSrc": "40896:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40896:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "40941:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "40941:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40952:2:84",
                            "nodeType": "YulLiteral",
                            "src": "40952:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40937:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40937:3:84"
                        },
                        "nativeSrc": "40937:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40937:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "40961:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "40961:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40969:18:84",
                            "nodeType": "YulLiteral",
                            "src": "40969:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40957:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "40957:3:84"
                        },
                        "nativeSrc": "40957:31:84",
                        "nodeType": "YulFunctionCall",
                        "src": "40957:31:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40930:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40930:6:84"
                    },
                    "nativeSrc": "40930:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40930:59:84"
                  },
                  "nativeSrc": "40930:59:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40930:59:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41009:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41009:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41020:2:84",
                            "nodeType": "YulLiteral",
                            "src": "41020:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41005:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41005:3:84"
                        },
                        "nativeSrc": "41005:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41005:18:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "41025:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41025:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40998:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "40998:6:84"
                    },
                    "nativeSrc": "40998:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "40998:34:84"
                  },
                  "nativeSrc": "40998:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "40998:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41052:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41052:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41063:2:84",
                            "nodeType": "YulLiteral",
                            "src": "41063:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41048:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41048:3:84"
                        },
                        "nativeSrc": "41048:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41048:18:84"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "41068:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41068:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41041:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41041:6:84"
                    },
                    "nativeSrc": "41041:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41041:34:84"
                  },
                  "nativeSrc": "41041:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41041:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value4",
                        "nativeSrc": "41117:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41117:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41129:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41129:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41140:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41140:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41125:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41125:3:84"
                        },
                        "nativeSrc": "41125:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41125:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResultErrorCodes",
                      "nativeSrc": "41084:32:84",
                      "nodeType": "YulIdentifier",
                      "src": "41084:32:84"
                    },
                    "nativeSrc": "41084:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41084:61:84"
                  },
                  "nativeSrc": "41084:61:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41084:61:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41165:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41165:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41176:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41176:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41161:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41161:3:84"
                        },
                        "nativeSrc": "41161:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41161:19:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "41182:3:84",
                        "nodeType": "YulLiteral",
                        "src": "41182:3:84",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41154:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41154:6:84"
                    },
                    "nativeSrc": "41154:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41154:32:84"
                  },
                  "nativeSrc": "41154:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41154:32:84"
                },
                {
                  "nativeSrc": "41195:59:84",
                  "nodeType": "YulAssignment",
                  "src": "41195:59:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value5",
                        "nativeSrc": "41226:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41226:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41238:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41238:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41249:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41249:3:84",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41234:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41234:3:84"
                        },
                        "nativeSrc": "41234:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41234:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_CBOR",
                      "nativeSrc": "41203:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "41203:22:84"
                    },
                    "nativeSrc": "41203:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41203:51:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "41195:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "41195:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint64_t_bytes32_t_uint256_t_enum$_ResultErrorCodes_$16311_t_struct$_CBOR_$19218_memory_ptr__to_t_uint256_t_uint64_t_bytes32_t_uint256_t_uint8_t_struct$_CBOR_$19218_memory_ptr__fromStack_reversed",
            "nativeSrc": "40581:679:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "40815:9:84",
                "nodeType": "YulTypedName",
                "src": "40815:9:84",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "40826:6:84",
                "nodeType": "YulTypedName",
                "src": "40826:6:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "40834:6:84",
                "nodeType": "YulTypedName",
                "src": "40834:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "40842:6:84",
                "nodeType": "YulTypedName",
                "src": "40842:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "40850:6:84",
                "nodeType": "YulTypedName",
                "src": "40850:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "40858:6:84",
                "nodeType": "YulTypedName",
                "src": "40858:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "40866:6:84",
                "nodeType": "YulTypedName",
                "src": "40866:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "40877:4:84",
                "nodeType": "YulTypedName",
                "src": "40877:4:84",
                "type": ""
              }
            ],
            "src": "40581:679:84"
          },
          {
            "body": {
              "nativeSrc": "41522:304:84",
              "nodeType": "YulBlock",
              "src": "41522:304:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "41539:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "41539:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "41550:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41550:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41532:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41532:6:84"
                    },
                    "nativeSrc": "41532:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41532:25:84"
                  },
                  "nativeSrc": "41532:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41532:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41577:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41577:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41588:2:84",
                            "nodeType": "YulLiteral",
                            "src": "41588:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41573:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41573:3:84"
                        },
                        "nativeSrc": "41573:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41573:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "41597:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "41597:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41605:18:84",
                            "nodeType": "YulLiteral",
                            "src": "41605:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "41593:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41593:3:84"
                        },
                        "nativeSrc": "41593:31:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41593:31:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41566:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41566:6:84"
                    },
                    "nativeSrc": "41566:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41566:59:84"
                  },
                  "nativeSrc": "41566:59:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41566:59:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41645:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41645:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41656:2:84",
                            "nodeType": "YulLiteral",
                            "src": "41656:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41641:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41641:3:84"
                        },
                        "nativeSrc": "41641:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41641:18:84"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "41661:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41661:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41634:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41634:6:84"
                    },
                    "nativeSrc": "41634:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41634:34:84"
                  },
                  "nativeSrc": "41634:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41634:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41688:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41688:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41699:2:84",
                            "nodeType": "YulLiteral",
                            "src": "41699:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41684:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41684:3:84"
                        },
                        "nativeSrc": "41684:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41684:18:84"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "41704:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41704:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41677:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41677:6:84"
                    },
                    "nativeSrc": "41677:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41677:34:84"
                  },
                  "nativeSrc": "41677:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41677:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41731:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41731:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41742:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41742:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41727:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41727:3:84"
                        },
                        "nativeSrc": "41727:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41727:19:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "41748:3:84",
                        "nodeType": "YulLiteral",
                        "src": "41748:3:84",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41720:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "41720:6:84"
                    },
                    "nativeSrc": "41720:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41720:32:84"
                  },
                  "nativeSrc": "41720:32:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "41720:32:84"
                },
                {
                  "nativeSrc": "41761:59:84",
                  "nodeType": "YulAssignment",
                  "src": "41761:59:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value4",
                        "nativeSrc": "41792:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "41792:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41804:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "41804:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41815:3:84",
                            "nodeType": "YulLiteral",
                            "src": "41815:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41800:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "41800:3:84"
                        },
                        "nativeSrc": "41800:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "41800:19:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_CBOR",
                      "nativeSrc": "41769:22:84",
                      "nodeType": "YulIdentifier",
                      "src": "41769:22:84"
                    },
                    "nativeSrc": "41769:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41769:51:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "41761:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "41761:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint64_t_bytes32_t_uint256_t_struct$_CBOR_$19218_memory_ptr__to_t_uint256_t_uint64_t_bytes32_t_uint256_t_struct$_CBOR_$19218_memory_ptr__fromStack_reversed",
            "nativeSrc": "41265:561:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "41459:9:84",
                "nodeType": "YulTypedName",
                "src": "41459:9:84",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "41470:6:84",
                "nodeType": "YulTypedName",
                "src": "41470:6:84",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "41478:6:84",
                "nodeType": "YulTypedName",
                "src": "41478:6:84",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "41486:6:84",
                "nodeType": "YulTypedName",
                "src": "41486:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "41494:6:84",
                "nodeType": "YulTypedName",
                "src": "41494:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "41502:6:84",
                "nodeType": "YulTypedName",
                "src": "41502:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "41513:4:84",
                "nodeType": "YulTypedName",
                "src": "41513:4:84",
                "type": ""
              }
            ],
            "src": "41265:561:84"
          },
          {
            "body": {
              "nativeSrc": "41880:79:84",
              "nodeType": "YulBlock",
              "src": "41880:79:84",
              "statements": [
                {
                  "nativeSrc": "41890:17:84",
                  "nodeType": "YulAssignment",
                  "src": "41890:17:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "41902:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "41902:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "41905:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "41905:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "41898:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "41898:3:84"
                    },
                    "nativeSrc": "41898:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41898:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "41890:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "41890:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "41931:22:84",
                    "nodeType": "YulBlock",
                    "src": "41931:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "41933:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "41933:16:84"
                          },
                          "nativeSrc": "41933:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "41933:18:84"
                        },
                        "nativeSrc": "41933:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "41933:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "41922:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "41922:4:84"
                      },
                      {
                        "name": "x",
                        "nativeSrc": "41928:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "41928:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "41919:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "41919:2:84"
                    },
                    "nativeSrc": "41919:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "41919:11:84"
                  },
                  "nativeSrc": "41916:37:84",
                  "nodeType": "YulIf",
                  "src": "41916:37:84"
                }
              ]
            },
            "name": "checked_sub_t_uint256",
            "nativeSrc": "41831:128:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "41862:1:84",
                "nodeType": "YulTypedName",
                "src": "41862:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "41865:1:84",
                "nodeType": "YulTypedName",
                "src": "41865:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "41871:4:84",
                "nodeType": "YulTypedName",
                "src": "41871:4:84",
                "type": ""
              }
            ],
            "src": "41831:128:84"
          },
          {
            "body": {
              "nativeSrc": "42058:1247:84",
              "nodeType": "YulBlock",
              "src": "42058:1247:84",
              "statements": [
                {
                  "nativeSrc": "42068:24:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42068:24:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "src",
                        "nativeSrc": "42088:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "42088:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "42082:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "42082:5:84"
                    },
                    "nativeSrc": "42082:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42082:10:84"
                  },
                  "variables": [
                    {
                      "name": "newLen",
                      "nativeSrc": "42072:6:84",
                      "nodeType": "YulTypedName",
                      "src": "42072:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "42135:22:84",
                    "nodeType": "YulBlock",
                    "src": "42135:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "42137:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "42137:16:84"
                          },
                          "nativeSrc": "42137:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "42137:18:84"
                        },
                        "nativeSrc": "42137:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "42137:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "newLen",
                        "nativeSrc": "42107:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "42107:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42115:18:84",
                        "nodeType": "YulLiteral",
                        "src": "42115:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "42104:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "42104:2:84"
                    },
                    "nativeSrc": "42104:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42104:30:84"
                  },
                  "nativeSrc": "42101:56:84",
                  "nodeType": "YulIf",
                  "src": "42101:56:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "42209:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "42209:4:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "slot",
                                "nativeSrc": "42247:4:84",
                                "nodeType": "YulIdentifier",
                                "src": "42247:4:84"
                              }
                            ],
                            "functionName": {
                              "name": "sload",
                              "nativeSrc": "42241:5:84",
                              "nodeType": "YulIdentifier",
                              "src": "42241:5:84"
                            },
                            "nativeSrc": "42241:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "42241:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "extract_byte_array_length",
                          "nativeSrc": "42215:25:84",
                          "nodeType": "YulIdentifier",
                          "src": "42215:25:84"
                        },
                        "nativeSrc": "42215:38:84",
                        "nodeType": "YulFunctionCall",
                        "src": "42215:38:84"
                      },
                      {
                        "name": "newLen",
                        "nativeSrc": "42255:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "42255:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "clean_up_bytearray_end_slots_bytes_storage",
                      "nativeSrc": "42166:42:84",
                      "nodeType": "YulIdentifier",
                      "src": "42166:42:84"
                    },
                    "nativeSrc": "42166:96:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42166:96:84"
                  },
                  "nativeSrc": "42166:96:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "42166:96:84"
                },
                {
                  "nativeSrc": "42271:18:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42271:18:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "42288:1:84",
                    "nodeType": "YulLiteral",
                    "src": "42288:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "srcOffset",
                      "nativeSrc": "42275:9:84",
                      "nodeType": "YulTypedName",
                      "src": "42275:9:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "42298:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42298:23:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "42317:4:84",
                    "nodeType": "YulLiteral",
                    "src": "42317:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variables": [
                    {
                      "name": "srcOffset_1",
                      "nativeSrc": "42302:11:84",
                      "nodeType": "YulTypedName",
                      "src": "42302:11:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "42330:17:84",
                  "nodeType": "YulAssignment",
                  "src": "42330:17:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "42343:4:84",
                    "nodeType": "YulLiteral",
                    "src": "42343:4:84",
                    "type": "",
                    "value": "0x20"
                  },
                  "variableNames": [
                    {
                      "name": "srcOffset",
                      "nativeSrc": "42330:9:84",
                      "nodeType": "YulIdentifier",
                      "src": "42330:9:84"
                    }
                  ]
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "42393:655:84",
                        "nodeType": "YulBlock",
                        "src": "42393:655:84",
                        "statements": [
                          {
                            "nativeSrc": "42407:35:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "42407:35:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "newLen",
                                  "nativeSrc": "42426:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42426:6:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "42438:2:84",
                                      "nodeType": "YulLiteral",
                                      "src": "42438:2:84",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "42434:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "42434:3:84"
                                  },
                                  "nativeSrc": "42434:7:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "42434:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "42422:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "42422:3:84"
                              },
                              "nativeSrc": "42422:20:84",
                              "nodeType": "YulFunctionCall",
                              "src": "42422:20:84"
                            },
                            "variables": [
                              {
                                "name": "loopEnd",
                                "nativeSrc": "42411:7:84",
                                "nodeType": "YulTypedName",
                                "src": "42411:7:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "42455:48:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "42455:48:84",
                            "value": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "42498:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42498:4:84"
                                }
                              ],
                              "functionName": {
                                "name": "array_dataslot_bytes_storage",
                                "nativeSrc": "42469:28:84",
                                "nodeType": "YulIdentifier",
                                "src": "42469:28:84"
                              },
                              "nativeSrc": "42469:34:84",
                              "nodeType": "YulFunctionCall",
                              "src": "42469:34:84"
                            },
                            "variables": [
                              {
                                "name": "dstPtr",
                                "nativeSrc": "42459:6:84",
                                "nodeType": "YulTypedName",
                                "src": "42459:6:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "42516:10:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "42516:10:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "42525:1:84",
                              "nodeType": "YulLiteral",
                              "src": "42525:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "i",
                                "nativeSrc": "42520:1:84",
                                "nodeType": "YulTypedName",
                                "src": "42520:1:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "42603:172:84",
                              "nodeType": "YulBlock",
                              "src": "42603:172:84",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "42628:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42628:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "src",
                                                "nativeSrc": "42646:3:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "42646:3:84"
                                              },
                                              {
                                                "name": "srcOffset",
                                                "nativeSrc": "42651:9:84",
                                                "nodeType": "YulIdentifier",
                                                "src": "42651:9:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "42642:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "42642:3:84"
                                            },
                                            "nativeSrc": "42642:19:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "42642:19:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "mload",
                                          "nativeSrc": "42636:5:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "42636:5:84"
                                        },
                                        "nativeSrc": "42636:26:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "42636:26:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "42621:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42621:6:84"
                                    },
                                    "nativeSrc": "42621:42:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "42621:42:84"
                                  },
                                  "nativeSrc": "42621:42:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "42621:42:84"
                                },
                                {
                                  "nativeSrc": "42680:24:84",
                                  "nodeType": "YulAssignment",
                                  "src": "42680:24:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "42694:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42694:6:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "42702:1:84",
                                        "nodeType": "YulLiteral",
                                        "src": "42702:1:84",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "42690:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42690:3:84"
                                    },
                                    "nativeSrc": "42690:14:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "42690:14:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "dstPtr",
                                      "nativeSrc": "42680:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42680:6:84"
                                    }
                                  ]
                                },
                                {
                                  "nativeSrc": "42721:40:84",
                                  "nodeType": "YulAssignment",
                                  "src": "42721:40:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "srcOffset",
                                        "nativeSrc": "42738:9:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42738:9:84"
                                      },
                                      {
                                        "name": "srcOffset_1",
                                        "nativeSrc": "42749:11:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42749:11:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "42734:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42734:3:84"
                                    },
                                    "nativeSrc": "42734:27:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "42734:27:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "srcOffset",
                                      "nativeSrc": "42721:9:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42721:9:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "i",
                                  "nativeSrc": "42550:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42550:1:84"
                                },
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "42553:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42553:7:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "42547:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "42547:2:84"
                              },
                              "nativeSrc": "42547:14:84",
                              "nodeType": "YulFunctionCall",
                              "src": "42547:14:84"
                            },
                            "nativeSrc": "42539:236:84",
                            "nodeType": "YulForLoop",
                            "post": {
                              "nativeSrc": "42562:28:84",
                              "nodeType": "YulBlock",
                              "src": "42562:28:84",
                              "statements": [
                                {
                                  "nativeSrc": "42564:24:84",
                                  "nodeType": "YulAssignment",
                                  "src": "42564:24:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "i",
                                        "nativeSrc": "42573:1:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42573:1:84"
                                      },
                                      {
                                        "name": "srcOffset_1",
                                        "nativeSrc": "42576:11:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42576:11:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "42569:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42569:3:84"
                                    },
                                    "nativeSrc": "42569:19:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "42569:19:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "i",
                                      "nativeSrc": "42564:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42564:1:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "pre": {
                              "nativeSrc": "42543:3:84",
                              "nodeType": "YulBlock",
                              "src": "42543:3:84",
                              "statements": []
                            },
                            "src": "42539:236:84"
                          },
                          {
                            "body": {
                              "nativeSrc": "42823:166:84",
                              "nodeType": "YulBlock",
                              "src": "42823:166:84",
                              "statements": [
                                {
                                  "nativeSrc": "42841:43:84",
                                  "nodeType": "YulVariableDeclaration",
                                  "src": "42841:43:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "src",
                                            "nativeSrc": "42868:3:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "42868:3:84"
                                          },
                                          {
                                            "name": "srcOffset",
                                            "nativeSrc": "42873:9:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "42873:9:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "42864:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "42864:3:84"
                                        },
                                        "nativeSrc": "42864:19:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "42864:19:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mload",
                                      "nativeSrc": "42858:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42858:5:84"
                                    },
                                    "nativeSrc": "42858:26:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "42858:26:84"
                                  },
                                  "variables": [
                                    {
                                      "name": "lastValue",
                                      "nativeSrc": "42845:9:84",
                                      "nodeType": "YulTypedName",
                                      "src": "42845:9:84",
                                      "type": ""
                                    }
                                  ]
                                },
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "42908:6:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "42908:6:84"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "name": "lastValue",
                                            "nativeSrc": "42920:9:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "42920:9:84"
                                          },
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "arguments": [
                                                      {
                                                        "arguments": [
                                                          {
                                                            "kind": "number",
                                                            "nativeSrc": "42947:1:84",
                                                            "nodeType": "YulLiteral",
                                                            "src": "42947:1:84",
                                                            "type": "",
                                                            "value": "3"
                                                          },
                                                          {
                                                            "name": "newLen",
                                                            "nativeSrc": "42950:6:84",
                                                            "nodeType": "YulIdentifier",
                                                            "src": "42950:6:84"
                                                          }
                                                        ],
                                                        "functionName": {
                                                          "name": "shl",
                                                          "nativeSrc": "42943:3:84",
                                                          "nodeType": "YulIdentifier",
                                                          "src": "42943:3:84"
                                                        },
                                                        "nativeSrc": "42943:14:84",
                                                        "nodeType": "YulFunctionCall",
                                                        "src": "42943:14:84"
                                                      },
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "42959:3:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "42959:3:84",
                                                        "type": "",
                                                        "value": "248"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "and",
                                                      "nativeSrc": "42939:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "42939:3:84"
                                                    },
                                                    "nativeSrc": "42939:24:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "42939:24:84"
                                                  },
                                                  {
                                                    "arguments": [
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "42969:1:84",
                                                        "nodeType": "YulLiteral",
                                                        "src": "42969:1:84",
                                                        "type": "",
                                                        "value": "0"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "not",
                                                      "nativeSrc": "42965:3:84",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "42965:3:84"
                                                    },
                                                    "nativeSrc": "42965:6:84",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "42965:6:84"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "shr",
                                                  "nativeSrc": "42935:3:84",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "42935:3:84"
                                                },
                                                "nativeSrc": "42935:37:84",
                                                "nodeType": "YulFunctionCall",
                                                "src": "42935:37:84"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "not",
                                              "nativeSrc": "42931:3:84",
                                              "nodeType": "YulIdentifier",
                                              "src": "42931:3:84"
                                            },
                                            "nativeSrc": "42931:42:84",
                                            "nodeType": "YulFunctionCall",
                                            "src": "42931:42:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "and",
                                          "nativeSrc": "42916:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "42916:3:84"
                                        },
                                        "nativeSrc": "42916:58:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "42916:58:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "42901:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "42901:6:84"
                                    },
                                    "nativeSrc": "42901:74:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "42901:74:84"
                                  },
                                  "nativeSrc": "42901:74:84",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "42901:74:84"
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "42794:7:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42794:7:84"
                                },
                                {
                                  "name": "newLen",
                                  "nativeSrc": "42803:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "42803:6:84"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "42791:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "42791:2:84"
                              },
                              "nativeSrc": "42791:19:84",
                              "nodeType": "YulFunctionCall",
                              "src": "42791:19:84"
                            },
                            "nativeSrc": "42788:201:84",
                            "nodeType": "YulIf",
                            "src": "42788:201:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "43009:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "43009:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "43023:1:84",
                                          "nodeType": "YulLiteral",
                                          "src": "43023:1:84",
                                          "type": "",
                                          "value": "1"
                                        },
                                        {
                                          "name": "newLen",
                                          "nativeSrc": "43026:6:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "43026:6:84"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "43019:3:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "43019:3:84"
                                      },
                                      "nativeSrc": "43019:14:84",
                                      "nodeType": "YulFunctionCall",
                                      "src": "43019:14:84"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "43035:1:84",
                                      "nodeType": "YulLiteral",
                                      "src": "43035:1:84",
                                      "type": "",
                                      "value": "1"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "43015:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "43015:3:84"
                                  },
                                  "nativeSrc": "43015:22:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "43015:22:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "43002:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "43002:6:84"
                              },
                              "nativeSrc": "43002:36:84",
                              "nodeType": "YulFunctionCall",
                              "src": "43002:36:84"
                            },
                            "nativeSrc": "43002:36:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "43002:36:84"
                          }
                        ]
                      },
                      "nativeSrc": "42386:662:84",
                      "nodeType": "YulCase",
                      "src": "42386:662:84",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "42391:1:84",
                        "nodeType": "YulLiteral",
                        "src": "42391:1:84",
                        "type": "",
                        "value": "1"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "43065:234:84",
                        "nodeType": "YulBlock",
                        "src": "43065:234:84",
                        "statements": [
                          {
                            "nativeSrc": "43079:14:84",
                            "nodeType": "YulVariableDeclaration",
                            "src": "43079:14:84",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "43092:1:84",
                              "nodeType": "YulLiteral",
                              "src": "43092:1:84",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "value",
                                "nativeSrc": "43083:5:84",
                                "nodeType": "YulTypedName",
                                "src": "43083:5:84",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "43128:67:84",
                              "nodeType": "YulBlock",
                              "src": "43128:67:84",
                              "statements": [
                                {
                                  "nativeSrc": "43146:35:84",
                                  "nodeType": "YulAssignment",
                                  "src": "43146:35:84",
                                  "value": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "src",
                                            "nativeSrc": "43165:3:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "43165:3:84"
                                          },
                                          {
                                            "name": "srcOffset",
                                            "nativeSrc": "43170:9:84",
                                            "nodeType": "YulIdentifier",
                                            "src": "43170:9:84"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "43161:3:84",
                                          "nodeType": "YulIdentifier",
                                          "src": "43161:3:84"
                                        },
                                        "nativeSrc": "43161:19:84",
                                        "nodeType": "YulFunctionCall",
                                        "src": "43161:19:84"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mload",
                                      "nativeSrc": "43155:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "43155:5:84"
                                    },
                                    "nativeSrc": "43155:26:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "43155:26:84"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "43146:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "43146:5:84"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "name": "newLen",
                              "nativeSrc": "43109:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "43109:6:84"
                            },
                            "nativeSrc": "43106:89:84",
                            "nodeType": "YulIf",
                            "src": "43106:89:84"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "43215:4:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "43215:4:84"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "43274:5:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "43274:5:84"
                                    },
                                    {
                                      "name": "newLen",
                                      "nativeSrc": "43281:6:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "43281:6:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "extract_used_part_and_set_length_of_short_byte_array",
                                    "nativeSrc": "43221:52:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "43221:52:84"
                                  },
                                  "nativeSrc": "43221:67:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "43221:67:84"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "43208:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "43208:6:84"
                              },
                              "nativeSrc": "43208:81:84",
                              "nodeType": "YulFunctionCall",
                              "src": "43208:81:84"
                            },
                            "nativeSrc": "43208:81:84",
                            "nodeType": "YulExpressionStatement",
                            "src": "43208:81:84"
                          }
                        ]
                      },
                      "nativeSrc": "43057:242:84",
                      "nodeType": "YulCase",
                      "src": "43057:242:84",
                      "value": "default"
                    }
                  ],
                  "expression": {
                    "arguments": [
                      {
                        "name": "newLen",
                        "nativeSrc": "42366:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "42366:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42374:2:84",
                        "nodeType": "YulLiteral",
                        "src": "42374:2:84",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "42363:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "42363:2:84"
                    },
                    "nativeSrc": "42363:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "42363:14:84"
                  },
                  "nativeSrc": "42356:943:84",
                  "nodeType": "YulSwitch",
                  "src": "42356:943:84"
                }
              ]
            },
            "name": "copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage",
            "nativeSrc": "41964:1341:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "42043:4:84",
                "nodeType": "YulTypedName",
                "src": "42043:4:84",
                "type": ""
              },
              {
                "name": "src",
                "nativeSrc": "42049:3:84",
                "nodeType": "YulTypedName",
                "src": "42049:3:84",
                "type": ""
              }
            ],
            "src": "41964:1341:84"
          },
          {
            "body": {
              "nativeSrc": "43435:141:84",
              "nodeType": "YulBlock",
              "src": "43435:141:84",
              "statements": [
                {
                  "nativeSrc": "43445:26:84",
                  "nodeType": "YulAssignment",
                  "src": "43445:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "43457:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "43457:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "43468:2:84",
                        "nodeType": "YulLiteral",
                        "src": "43468:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "43453:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "43453:3:84"
                    },
                    "nativeSrc": "43453:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43453:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "43445:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "43445:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "43487:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "43487:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "43502:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "43502:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43510:4:84",
                            "nodeType": "YulLiteral",
                            "src": "43510:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43498:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43498:3:84"
                        },
                        "nativeSrc": "43498:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43498:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43480:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43480:6:84"
                    },
                    "nativeSrc": "43480:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43480:36:84"
                  },
                  "nativeSrc": "43480:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43480:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "43536:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "43536:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43547:2:84",
                            "nodeType": "YulLiteral",
                            "src": "43547:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "43532:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43532:3:84"
                        },
                        "nativeSrc": "43532:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43532:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "43556:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "43556:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43564:4:84",
                            "nodeType": "YulLiteral",
                            "src": "43564:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43552:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43552:3:84"
                        },
                        "nativeSrc": "43552:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43552:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43525:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43525:6:84"
                    },
                    "nativeSrc": "43525:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43525:45:84"
                  },
                  "nativeSrc": "43525:45:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43525:45:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8_t_uint8__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "43310:266:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "43396:9:84",
                "nodeType": "YulTypedName",
                "src": "43396:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "43407:6:84",
                "nodeType": "YulTypedName",
                "src": "43407:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "43415:6:84",
                "nodeType": "YulTypedName",
                "src": "43415:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "43426:4:84",
                "nodeType": "YulTypedName",
                "src": "43426:4:84",
                "type": ""
              }
            ],
            "src": "43310:266:84"
          },
          {
            "body": {
              "nativeSrc": "43628:133:84",
              "nodeType": "YulBlock",
              "src": "43628:133:84",
              "statements": [
                {
                  "nativeSrc": "43638:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43638:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "43648:18:84",
                    "nodeType": "YulLiteral",
                    "src": "43648:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "43642:2:84",
                      "nodeType": "YulTypedName",
                      "src": "43642:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "43675:34:84",
                  "nodeType": "YulAssignment",
                  "src": "43675:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "43690:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "43690:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "43693:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "43693:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43686:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43686:3:84"
                        },
                        "nativeSrc": "43686:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43686:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "43702:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "43702:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "43705:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "43705:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43698:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43698:3:84"
                        },
                        "nativeSrc": "43698:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43698:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "43682:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "43682:3:84"
                    },
                    "nativeSrc": "43682:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43682:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "43675:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "43675:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "43733:22:84",
                    "nodeType": "YulBlock",
                    "src": "43733:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "43735:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "43735:16:84"
                          },
                          "nativeSrc": "43735:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "43735:18:84"
                        },
                        "nativeSrc": "43735:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "43735:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "43724:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "43724:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "43729:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "43729:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "43721:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "43721:2:84"
                    },
                    "nativeSrc": "43721:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43721:11:84"
                  },
                  "nativeSrc": "43718:37:84",
                  "nodeType": "YulIf",
                  "src": "43718:37:84"
                }
              ]
            },
            "name": "checked_add_t_uint64",
            "nativeSrc": "43581:180:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "43611:1:84",
                "nodeType": "YulTypedName",
                "src": "43611:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "43614:1:84",
                "nodeType": "YulTypedName",
                "src": "43614:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "43620:3:84",
                "nodeType": "YulTypedName",
                "src": "43620:3:84",
                "type": ""
              }
            ],
            "src": "43581:180:84"
          },
          {
            "body": {
              "nativeSrc": "43865:87:84",
              "nodeType": "YulBlock",
              "src": "43865:87:84",
              "statements": [
                {
                  "nativeSrc": "43875:26:84",
                  "nodeType": "YulAssignment",
                  "src": "43875:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "43887:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "43887:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "43898:2:84",
                        "nodeType": "YulLiteral",
                        "src": "43898:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "43883:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "43883:3:84"
                    },
                    "nativeSrc": "43883:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43883:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "43875:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "43875:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "43917:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "43917:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "43932:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "43932:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "43940:4:84",
                            "nodeType": "YulLiteral",
                            "src": "43940:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "43928:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "43928:3:84"
                        },
                        "nativeSrc": "43928:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "43928:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "43910:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "43910:6:84"
                    },
                    "nativeSrc": "43910:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "43910:36:84"
                  },
                  "nativeSrc": "43910:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "43910:36:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8__to_t_uint256__fromStack_reversed",
            "nativeSrc": "43766:186:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "43834:9:84",
                "nodeType": "YulTypedName",
                "src": "43834:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "43845:6:84",
                "nodeType": "YulTypedName",
                "src": "43845:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "43856:4:84",
                "nodeType": "YulTypedName",
                "src": "43856:4:84",
                "type": ""
              }
            ],
            "src": "43766:186:84"
          },
          {
            "body": {
              "nativeSrc": "43995:74:84",
              "nodeType": "YulBlock",
              "src": "43995:74:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "44018:22:84",
                    "nodeType": "YulBlock",
                    "src": "44018:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "44020:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "44020:16:84"
                          },
                          "nativeSrc": "44020:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "44020:18:84"
                        },
                        "nativeSrc": "44020:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "44020:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "44015:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "44015:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "44008:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44008:6:84"
                    },
                    "nativeSrc": "44008:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44008:9:84"
                  },
                  "nativeSrc": "44005:35:84",
                  "nodeType": "YulIf",
                  "src": "44005:35:84"
                },
                {
                  "nativeSrc": "44049:14:84",
                  "nodeType": "YulAssignment",
                  "src": "44049:14:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "44058:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "44058:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "44061:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "44061:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "mod",
                      "nativeSrc": "44054:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "44054:3:84"
                    },
                    "nativeSrc": "44054:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44054:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "44049:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "44049:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "mod_t_uint256",
            "nativeSrc": "43957:112:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "43980:1:84",
                "nodeType": "YulTypedName",
                "src": "43980:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "43983:1:84",
                "nodeType": "YulTypedName",
                "src": "43983:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "43989:1:84",
                "nodeType": "YulTypedName",
                "src": "43989:1:84",
                "type": ""
              }
            ],
            "src": "43957:112:84"
          },
          {
            "body": {
              "nativeSrc": "44248:229:84",
              "nodeType": "YulBlock",
              "src": "44248:229:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "44265:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "44265:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44276:2:84",
                        "nodeType": "YulLiteral",
                        "src": "44276:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44258:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44258:6:84"
                    },
                    "nativeSrc": "44258:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44258:21:84"
                  },
                  "nativeSrc": "44258:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44258:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "44299:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "44299:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44310:2:84",
                            "nodeType": "YulLiteral",
                            "src": "44310:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "44295:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44295:3:84"
                        },
                        "nativeSrc": "44295:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44295:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44315:2:84",
                        "nodeType": "YulLiteral",
                        "src": "44315:2:84",
                        "type": "",
                        "value": "39"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44288:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44288:6:84"
                    },
                    "nativeSrc": "44288:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44288:30:84"
                  },
                  "nativeSrc": "44288:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44288:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "44338:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "44338:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44349:2:84",
                            "nodeType": "YulLiteral",
                            "src": "44349:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "44334:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44334:3:84"
                        },
                        "nativeSrc": "44334:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44334:18:84"
                      },
                      {
                        "hexValue": "5769746e657443424f522e736b69703a20756e737570706f72746564206d616a",
                        "kind": "string",
                        "nativeSrc": "44354:34:84",
                        "nodeType": "YulLiteral",
                        "src": "44354:34:84",
                        "type": "",
                        "value": "WitnetCBOR.skip: unsupported maj"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44327:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44327:6:84"
                    },
                    "nativeSrc": "44327:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44327:62:84"
                  },
                  "nativeSrc": "44327:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44327:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "44409:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "44409:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44420:2:84",
                            "nodeType": "YulLiteral",
                            "src": "44420:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "44405:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44405:3:84"
                        },
                        "nativeSrc": "44405:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44405:18:84"
                      },
                      {
                        "hexValue": "6f722074797065",
                        "kind": "string",
                        "nativeSrc": "44425:9:84",
                        "nodeType": "YulLiteral",
                        "src": "44425:9:84",
                        "type": "",
                        "value": "or type"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "44398:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "44398:6:84"
                    },
                    "nativeSrc": "44398:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44398:37:84"
                  },
                  "nativeSrc": "44398:37:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "44398:37:84"
                },
                {
                  "nativeSrc": "44444:27:84",
                  "nodeType": "YulAssignment",
                  "src": "44444:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "44456:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "44456:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44467:3:84",
                        "nodeType": "YulLiteral",
                        "src": "44467:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "44452:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "44452:3:84"
                    },
                    "nativeSrc": "44452:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44452:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "44444:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "44444:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_92a4e60c9c8a6bab113d51719bd32c972951c92a48fb0ef633db4f8d512f86fe__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "44074:403:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "44225:9:84",
                "nodeType": "YulTypedName",
                "src": "44225:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "44239:4:84",
                "nodeType": "YulTypedName",
                "src": "44239:4:84",
                "type": ""
              }
            ],
            "src": "44074:403:84"
          },
          {
            "body": {
              "nativeSrc": "44529:104:84",
              "nodeType": "YulBlock",
              "src": "44529:104:84",
              "statements": [
                {
                  "nativeSrc": "44539:39:84",
                  "nodeType": "YulAssignment",
                  "src": "44539:39:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "44555:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "44555:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44558:4:84",
                            "nodeType": "YulLiteral",
                            "src": "44558:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "44551:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44551:3:84"
                        },
                        "nativeSrc": "44551:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44551:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "44569:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "44569:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44572:4:84",
                            "nodeType": "YulLiteral",
                            "src": "44572:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "44565:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "44565:3:84"
                        },
                        "nativeSrc": "44565:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "44565:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "44547:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "44547:3:84"
                    },
                    "nativeSrc": "44547:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44547:31:84"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "44539:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "44539:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "44605:22:84",
                    "nodeType": "YulBlock",
                    "src": "44605:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "44607:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "44607:16:84"
                          },
                          "nativeSrc": "44607:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "44607:18:84"
                        },
                        "nativeSrc": "44607:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "44607:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "44593:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "44593:4:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44599:4:84",
                        "nodeType": "YulLiteral",
                        "src": "44599:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "44590:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "44590:2:84"
                    },
                    "nativeSrc": "44590:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "44590:14:84"
                  },
                  "nativeSrc": "44587:40:84",
                  "nodeType": "YulIf",
                  "src": "44587:40:84"
                }
              ]
            },
            "name": "checked_sub_t_uint8",
            "nativeSrc": "44482:151:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "44511:1:84",
                "nodeType": "YulTypedName",
                "src": "44511:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "44514:1:84",
                "nodeType": "YulTypedName",
                "src": "44514:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "44520:4:84",
                "nodeType": "YulTypedName",
                "src": "44520:4:84",
                "type": ""
              }
            ],
            "src": "44482:151:84"
          }
        ]
      },
      "contents": "{\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_tuple_packed_t_stringliteral_6aa2932fe75962e4eb862ba4982429ce713637712a759cb9d40b6d5260a002eb_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value3, value2, value1, value0) -> end\n    {\n        mstore(pos, \"not implemented: 0x\")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), add(pos, 19), length)\n        let _1 := add(pos, length)\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), add(_1, 19), length_1)\n        let _2 := add(_1, length_1)\n        let length_2 := mload(value2)\n        copy_memory_to_memory_with_cleanup(add(value2, 0x20), add(_2, 19), length_2)\n        let _3 := add(_2, length_2)\n        let length_3 := mload(value3)\n        copy_memory_to_memory_with_cleanup(add(value3, 0x20), add(_3, 19), length_3)\n        end := add(add(_3, length_3), 19)\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, iszero(iszero(value0)))\n    }\n    function abi_decode_uint24(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_uint24(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_uint24(add(headStart, 32))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_array_struct_BatchResult_calldata_dyn_calldata(offset, end) -> arrayPos, length\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        length := calldataload(offset)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        arrayPos := add(offset, 0x20)\n        if gt(add(add(offset, shl(5, length)), 0x20), end) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_array$_t_struct$_BatchResult_$13391_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1\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        let value0_1, value1_1 := abi_decode_array_struct_BatchResult_calldata_dyn_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := calldataload(headStart)\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_struct_Response(value, pos) -> end\n    {\n        mstore(pos, and(mload(value), sub(shl(160, 1), 1)))\n        mstore(add(pos, 0x20), and(mload(add(value, 0x20)), 0xffffffffffffffff))\n        mstore(add(pos, 0x40), and(mload(add(value, 0x40)), 0xffffffff))\n        mstore(add(pos, 0x60), mload(add(value, 0x60)))\n        let memberValue0 := mload(add(value, 0x80))\n        mstore(add(pos, 0x80), 0xa0)\n        end := abi_encode_bytes(memberValue0, add(pos, 0xa0))\n    }\n    function abi_encode_tuple_t_struct$_Response_$23488_memory_ptr__to_t_struct$_Response_$23488_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_struct_Response(value0, add(headStart, 32))\n    }\n    function abi_encode_struct_Request(value, pos) -> end\n    {\n        mstore(pos, and(mload(value), sub(shl(160, 1), 1)))\n        mstore(add(pos, 0x20), and(mload(add(value, 0x20)), 0xffffff))\n        mstore(add(pos, 0x40), and(mload(add(value, 0x40)), 0xffffffffffffffffff))\n        let memberValue0 := mload(add(value, 0x60))\n        mstore(add(pos, 0x60), 0xe0)\n        let tail := abi_encode_bytes(memberValue0, add(pos, 0xe0))\n        mstore(add(pos, 0x80), mload(add(value, 0x80)))\n        let memberValue0_1 := mload(add(value, 0xa0))\n        mstore(add(pos, 0xa0), and(mload(memberValue0_1), 0xff))\n        mstore(add(pos, 192), and(mload(add(memberValue0_1, 0x20)), 0xffffffffffffffff))\n        end := tail\n    }\n    function abi_encode_tuple_t_struct$_Request_$23476_memory_ptr__to_t_struct$_Request_$23476_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_struct_Request(value0, add(headStart, 32))\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_enum_ResponseStatus(value, pos)\n    {\n        if iszero(lt(value, 6)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_tuple_t_enum$_ResponseStatus_$23496__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        abi_encode_enum_ResponseStatus(value0, headStart)\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function finalize_allocation(memPtr, size)\n    {\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 array_allocation_size_array_address_dyn(length) -> size\n    {\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n        size := add(shl(5, length), 0x20)\n    }\n    function abi_decode_tuple_t_array$_t_address_$dyn_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        if gt(offset, 0xffffffffffffffff) { 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 := array_allocation_size_array_address_dyn(_3)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _4)\n        let dst := memPtr\n        mstore(memPtr, _3)\n        dst := add(memPtr, _1)\n        let srcEnd := add(add(_2, shl(5, _3)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_2, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            let value := calldataload(src)\n            validator_revert_address(value)\n            mstore(dst, value)\n            dst := add(dst, _1)\n        }\n        value0 := memPtr\n    }\n    function abi_decode_struct_RadonSLA_calldata(offset, end) -> value\n    {\n        if slt(sub(end, offset), 64) { revert(0, 0) }\n        value := offset\n    }\n    function abi_decode_tuple_t_bytes32t_struct$_RadonSLA_$23503_calldata_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_struct_RadonSLA_calldata(add(headStart, 32), dataEnd)\n    }\n    function array_allocation_size_bytes(length) -> size\n    {\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n        size := add(and(add(length, 31), not(31)), 0x20)\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        let _1 := add(headStart, offset)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        let _2 := calldataload(_1)\n        let _3 := array_allocation_size_bytes(_2)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _3)\n        mstore(memPtr, _2)\n        if gt(add(add(_1, _2), 32), dataEnd) { revert(0, 0) }\n        calldatacopy(add(memPtr, 32), add(_1, 32), _2)\n        mstore(add(add(memPtr, _2), 32), 0)\n        value0 := memPtr\n    }\n    function abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1\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        let value0_1, value1_1 := abi_decode_array_struct_BatchResult_calldata_dyn_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n    }\n    function abi_encode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, 32)\n        mstore(headStart, 32)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let tail_2 := add(add(headStart, shl(5, length)), 64)\n        let srcPtr := add(value0, 32)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            tail_2 := abi_encode_bytes(mload(srcPtr), tail_2)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_bytes(value0, add(headStart, 32))\n    }\n    function abi_encode_enum_QueryStatus(value, pos)\n    {\n        if iszero(lt(value, 4)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_tuple_t_array$_t_enum$_QueryStatus_$23461_$dyn_memory_ptr__to_t_array$_t_uint8_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, 32)\n        mstore(headStart, 32)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let srcPtr := add(value0, 32)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            abi_encode_enum_QueryStatus(mload(srcPtr), pos)\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function abi_decode_bytes_calldata(offset, end) -> arrayPos, length\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        length := calldataload(offset)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        arrayPos := add(offset, 0x20)\n        if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_bytes32t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n        let offset := calldataload(add(headStart, 64))\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value2_1, value3_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n        value2 := value2_1\n        value3 := value3_1\n    }\n    function abi_encode_tuple_t_enum$_QueryStatus_$23461__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        abi_encode_enum_QueryStatus(value0, headStart)\n    }\n    function abi_encode_tuple_t_contract$_WitnetRequestBytecodes_$849__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n    }\n    function validator_revert_uint16(value)\n    {\n        if iszero(eq(value, and(value, 0xffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_uint16(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        let value := calldataload(add(headStart, 32))\n        validator_revert_uint16(value)\n        value1 := value\n    }\n    function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_bytes(value0, add(headStart, 32))\n    }\n    function abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptrt_bytes_calldata_ptrt_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _1 := 0xffffffffffffffff\n        if gt(offset, _1) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_array_struct_BatchResult_calldata_dyn_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        let value2_1, value3_1 := abi_decode_bytes_calldata(add(headStart, offset_1), dataEnd)\n        value2 := value2_1\n        value3 := value3_1\n        value4 := calldataload(add(headStart, 64))\n        value5 := calldataload(add(headStart, 96))\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 abi_decode_tuple_t_uint256t_bytes32(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_bytes_calldata_ptrt_struct$_RadonSLA_$23503_calldata_ptrt_uint24(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        value2 := abi_decode_struct_RadonSLA_calldata(add(headStart, 32), dataEnd)\n        value3 := abi_decode_uint24(add(headStart, 96))\n    }\n    function abi_encode_enum_ResultErrorCodes(value, pos)\n    {\n        if iszero(lt(value, 255)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_tuple_t_struct$_ResultError_$16055_memory_ptr__to_t_struct$_ResultError_$16055_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        abi_encode_enum_ResultErrorCodes(mload(value0), add(headStart, 32))\n        let memberValue0 := mload(add(value0, 32))\n        mstore(add(headStart, 0x40), 0x40)\n        tail := abi_encode_bytes(memberValue0, add(headStart, 96))\n    }\n    function abi_encode_tuple_t_struct$_Query_$23455_memory_ptr__to_t_struct$_Query_$23455_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        let memberValue0 := mload(value0)\n        mstore(add(headStart, 32), 0x40)\n        let tail_1 := abi_encode_struct_Request(memberValue0, add(headStart, 96))\n        let memberValue0_1 := mload(add(value0, 32))\n        mstore(add(headStart, 0x40), add(sub(tail_1, headStart), not(31)))\n        tail := abi_encode_struct_Response(memberValue0_1, tail_1)\n    }\n    function abi_decode_uint32(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_uint256t_uint32t_bytes32t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_uint32(add(headStart, 32))\n        value2 := calldataload(add(headStart, 64))\n        let offset := calldataload(add(headStart, 96))\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value3_1, value4_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n        value3 := value3_1\n        value4 := value4_1\n    }\n    function abi_encode_tuple_t_contract$_WitnetRequestFactory_$880__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_contract$_IERC20_$479__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_bytes32t_struct$_RadonSLA_$23503_calldata_ptrt_uint24(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n        value0 := calldataload(headStart)\n        value1 := abi_decode_struct_RadonSLA_calldata(add(headStart, 32), dataEnd)\n        value2 := abi_decode_uint24(add(headStart, 96))\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_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        mstore(end_1, \": \")\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), add(end_1, 2), length_1)\n        end := add(add(end_1, length_1), 2)\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\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_div_t_uint8(x, y) -> r\n    {\n        let y_1 := and(y, 0xff)\n        if iszero(y_1) { panic_error_0x12() }\n        r := div(and(x, 0xff), y_1)\n    }\n    function checked_add_t_uint8(x, y) -> sum\n    {\n        sum := add(and(x, 0xff), and(y, 0xff))\n        if gt(sum, 0xff) { panic_error_0x11() }\n    }\n    function mod_t_uint8(x, y) -> r\n    {\n        let y_1 := and(y, 0xff)\n        if iszero(y_1) { panic_error_0x12() }\n        r := mod(and(x, 0xff), y_1)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\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 access_calldata_tail_t_struct$_BatchResult_$13391_calldata_ptr(base_ref, ptr_to_tail) -> addr\n    {\n        let rel_offset_of_tail := calldataload(ptr_to_tail)\n        if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(126)))) { revert(0, 0) }\n        addr := add(base_ref, rel_offset_of_tail)\n    }\n    function abi_encode_tuple_t_enum$_QueryStatus_$23461__to_t_uint8__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        abi_encode_enum_QueryStatus(value0, headStart)\n    }\n    function abi_decode_string_fromMemory(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := mload(offset)\n        let _2 := array_allocation_size_bytes(_1)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _2)\n        mstore(memPtr, _1)\n        if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n        copy_memory_to_memory_with_cleanup(add(offset, 0x20), add(memPtr, 0x20), _1)\n        array := memPtr\n    }\n    function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), 64)\n        tail := abi_encode_bytes(value1, add(headStart, 64))\n    }\n    function abi_decode_tuple_t_uint32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_uint32(headStart)\n    }\n    function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length\n    {\n        let rel_offset_of_tail := calldataload(ptr_to_tail)\n        if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n        let addr_1 := add(base_ref, rel_offset_of_tail)\n        length := calldataload(addr_1)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        addr := add(addr_1, 0x20)\n        if sgt(addr, sub(calldatasize(), length)) { revert(0, 0) }\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_18e93b6a9ca9a828871ff24f0fc4025c67d39029bf31e6664071c37d5dc700dd__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, 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        mstore(end_1, \": invalid report data\")\n        end := add(end_1, 21)\n    }\n    function extract_byte_array_length(data) -> length\n    {\n        length := shr(1, data)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        if eq(outOfPlaceEncoding, lt(length, 32))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(0, 0x24)\n        }\n    }\n    function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let _1 := 32\n        let tail_1 := add(headStart, 32)\n        mstore(headStart, 32)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let srcPtr := add(value0, 32)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, and(mload(srcPtr), sub(shl(160, 1), 1)))\n            pos := add(pos, _1)\n            srcPtr := add(srcPtr, _1)\n        }\n        tail := pos\n    }\n    function validator_revert_uint8(value)\n    {\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function validator_revert_uint64(value)\n    {\n        if iszero(eq(value, and(value, 0xffffffffffffffff))) { revert(0, 0) }\n    }\n    function abi_encode_tuple_t_uint256_t_uint256_t_struct$_RadonSLA_$23503_calldata_ptr__to_t_uint256_t_uint256_t_struct$_RadonSLA_$23503_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        let value := calldataload(value2)\n        validator_revert_uint8(value)\n        mstore(add(headStart, 64), and(value, 0xff))\n        let value_1 := calldataload(add(value2, 32))\n        validator_revert_uint64(value_1)\n        mstore(add(headStart, 96), and(value_1, 0xffffffffffffffff))\n    }\n    function abi_decode_tuple_t_address_payablet_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let offset := mload(add(headStart, 32))\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        value1 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        let _1 := 32\n        if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n        let _3 := mload(_2)\n        let _4 := array_allocation_size_array_address_dyn(_3)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _4)\n        let dst := memPtr\n        mstore(memPtr, _3)\n        dst := add(memPtr, _1)\n        let srcEnd := add(add(_2, shl(5, _3)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_2, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            let value := mload(src)\n            validator_revert_address(value)\n            mstore(dst, value)\n            dst := add(dst, _1)\n        }\n        value0 := memPtr\n    }\n    function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_WitnetOracle_$749_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_contract$_WitnetRequestBytecodes_$849_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_contract$_WitnetRequestBytecodes_$849_t_array$_t_uint256_$dyn_calldata_ptr__to_t_address_t_array$_t_uint256_$dyn_memory_ptr__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), 64)\n        mstore(add(headStart, 64), value2)\n        if gt(value2, sub(shl(251, 1), 1)) { revert(0, 0) }\n        let length := shl(5, value2)\n        calldatacopy(add(headStart, 96), value1, length)\n        tail := add(add(headStart, length), 96)\n    }\n    function abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        let _1 := 32\n        if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _2 := 0xffffffffffffffff\n        if gt(offset, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset)\n        if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n        let _4 := mload(_3)\n        let _5 := array_allocation_size_array_address_dyn(_4)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _5)\n        let dst := memPtr\n        mstore(memPtr, _4)\n        dst := add(memPtr, _1)\n        let srcEnd := add(add(_3, shl(5, _4)), _1)\n        if gt(srcEnd, dataEnd) { revert(0, 0) }\n        let src := add(_3, _1)\n        for { } lt(src, srcEnd) { src := add(src, _1) }\n        {\n            let innerOffset := mload(src)\n            if gt(innerOffset, _2)\n            {\n                let _6 := 0\n                revert(_6, _6)\n            }\n            mstore(dst, abi_decode_string_fromMemory(add(add(_3, innerOffset), _1), dataEnd))\n            dst := add(dst, _1)\n        }\n        value0 := memPtr\n    }\n    function abi_encode_tuple_t_stringliteral_225559eb8402045bea7ff07c35d0ad8c0547830223ac1c21d44fb948d6896ebc__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), \"Ownable2Step: caller is not the \")\n        mstore(add(headStart, 96), \"new owner\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 32), value1)\n    }\n    function checked_sub_t_uint16(x, y) -> diff\n    {\n        let _1 := 0xffff\n        diff := sub(and(x, _1), and(y, _1))\n        if gt(diff, _1) { panic_error_0x11() }\n    }\n    function checked_div_t_uint16(x, y) -> r\n    {\n        let _1 := 0xffff\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 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_decode_tuple_t_uint16_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_uint16(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n        value0 := value\n    }\n    function array_dataslot_bytes_storage(ptr) -> data\n    {\n        mstore(0, ptr)\n        data := keccak256(0, 0x20)\n    }\n    function clean_up_bytearray_end_slots_bytes_storage(array, len, startIndex)\n    {\n        if gt(len, 31)\n        {\n            let _1 := 0\n            mstore(0, array)\n            let data := keccak256(0, 0x20)\n            let deleteStart := add(data, shr(5, add(startIndex, 31)))\n            if lt(startIndex, 0x20) { deleteStart := data }\n            let _2 := add(data, shr(5, add(len, 31)))\n            let start := deleteStart\n            for { } lt(start, _2) { start := add(start, 1) }\n            { sstore(start, _1) }\n        }\n    }\n    function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n    {\n        used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n    }\n    function copy_byte_array_to_storage_from_t_bytes_calldata_ptr_to_t_bytes_storage(slot, src, len)\n    {\n        if gt(len, 0xffffffffffffffff) { panic_error_0x41() }\n        clean_up_bytearray_end_slots_bytes_storage(slot, extract_byte_array_length(sload(slot)), len)\n        let srcOffset := 0\n        switch gt(len, 31)\n        case 1 {\n            let loopEnd := and(len, not(31))\n            let dstPtr := array_dataslot_bytes_storage(slot)\n            let i := srcOffset\n            for { } lt(i, loopEnd) { i := add(i, 0x20) }\n            {\n                sstore(dstPtr, calldataload(add(src, srcOffset)))\n                dstPtr := add(dstPtr, 1)\n                srcOffset := add(srcOffset, 0x20)\n            }\n            if lt(loopEnd, len)\n            {\n                sstore(dstPtr, and(calldataload(add(src, srcOffset)), not(shr(and(shl(3, len), 248), not(0)))))\n            }\n            sstore(slot, add(shl(1, len), 1))\n        }\n        default {\n            let value := 0\n            if len\n            {\n                value := calldataload(add(src, srcOffset))\n            }\n            sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, len))\n        }\n    }\n    function abi_encode_tuple_t_enum$_ResponseStatus_$23496_t_bytes_storage__to_t_uint8_t_bytes_memory_ptr__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        abi_encode_enum_ResponseStatus(value0, headStart)\n        let _1 := 32\n        mstore(add(headStart, 32), 64)\n        let ret := 0\n        let slotValue := sload(value1)\n        let length := extract_byte_array_length(slotValue)\n        mstore(add(headStart, 64), length)\n        let _2 := 96\n        let _3 := 1\n        switch and(slotValue, 1)\n        case 0 {\n            mstore(add(headStart, 96), and(slotValue, not(255)))\n            ret := add(add(headStart, shl(5, iszero(iszero(length)))), 96)\n        }\n        case 1 {\n            mstore(0, value1)\n            let dataPos := keccak256(0, 32)\n            let i := 0\n            for { } lt(i, length) { i := add(i, _1) }\n            {\n                mstore(add(add(headStart, i), _2), sload(dataPos))\n                dataPos := add(dataPos, _3)\n            }\n            ret := add(add(headStart, i), 96)\n        }\n        tail := ret\n    }\n    function abi_decode_tuple_t_struct$_ResultError_$16055_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        let _1 := 0xffffffffffffffff\n        if gt(offset, _1) { revert(0, 0) }\n        let _2 := add(headStart, offset)\n        if slt(sub(dataEnd, _2), 0x40) { revert(0, 0) }\n        let memPtr := mload(0x40)\n        let newFreePtr := add(memPtr, 0x40)\n        if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(0x40, newFreePtr)\n        let value := mload(_2)\n        if iszero(lt(value, 255)) { revert(0, 0) }\n        mstore(memPtr, value)\n        let offset_1 := mload(add(_2, 32))\n        if gt(offset_1, _1) { revert(0, 0) }\n        mstore(add(memPtr, 32), abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n        value0 := memPtr\n    }\n    function return_data_selector() -> sig\n    {\n        if gt(returndatasize(), 3)\n        {\n            returndatacopy(0, 0, 4)\n            sig := shr(224, mload(0))\n        }\n    }\n    function try_decode_error_message() -> ret\n    {\n        if lt(returndatasize(), 0x44) { leave }\n        let data := mload(64)\n        let _1 := not(3)\n        returndatacopy(data, 4, add(returndatasize(), _1))\n        let offset := mload(data)\n        let _2 := returndatasize()\n        let _3 := 0xffffffffffffffff\n        if or(gt(offset, _3), gt(add(offset, 0x24), _2)) { leave }\n        let msg := add(data, offset)\n        let length := mload(msg)\n        if gt(length, _3) { leave }\n        if gt(add(add(msg, length), 0x20), add(add(data, returndatasize()), _1)) { leave }\n        finalize_allocation(data, add(add(offset, length), 0x20))\n        ret := msg\n    }\n    function abi_encode_tuple_packed_t_stringliteral_adde32c7bb9bc1be59487f778ed1835d1b81ca43cc9a0e45fb54328008aec129_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"WitnetErrorsLib: \")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), add(pos, 17), length)\n        end := add(add(pos, length), 17)\n    }\n    function checked_add_t_uint72(x, y) -> sum\n    {\n        let _1 := 0xffffffffffffffffff\n        sum := add(and(x, _1), and(y, _1))\n        if gt(sum, _1) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_uint256_t_uint72__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), and(value1, 0xffffffffffffffffff))\n    }\n    function abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_encode_tuple_t_uint256_t_bytes_calldata_ptr_t_uint256_t_uint256_t_string_memory_ptr__to_t_uint256_t_bytes_memory_ptr_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), 160)\n        mstore(add(headStart, 160), value2)\n        calldatacopy(add(headStart, 192), value1, value2)\n        mstore(add(add(headStart, value2), 192), 0)\n        let _1 := add(headStart, and(add(value2, 31), not(31)))\n        mstore(add(headStart, 64), value3)\n        mstore(add(headStart, 96), value4)\n        mstore(add(headStart, 128), add(sub(_1, headStart), 192))\n        tail := abi_encode_bytes(value5, add(_1, 192))\n    }\n    function abi_decode_tuple_t_uint64(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint64(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint8(value)\n        value0 := value\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 update_storage_value_offset_0t_struct$_RadonSLA_$23503_calldata_ptr_to_t_struct$_RadonSLA_$23503_storage(slot, value)\n    {\n        let value_1 := calldataload(value)\n        validator_revert_uint8(value_1)\n        let _1 := and(value_1, 0xff)\n        let _2 := sload(slot)\n        sstore(slot, or(and(_2, not(255)), _1))\n        let value_2 := calldataload(add(value, 32))\n        validator_revert_uint64(value_2)\n        sstore(slot, or(or(and(_2, not(0xffffffffffffffffff)), _1), and(shl(8, value_2), 0xffffffffffffffff00)))\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 abi_encode_struct_CBOR(value, pos) -> end\n    {\n        let memberValue0 := mload(value)\n        mstore(pos, 0xc0)\n        let memberValue0_1 := mload(memberValue0)\n        mstore(add(pos, 0xc0), 0x40)\n        let tail := abi_encode_bytes(memberValue0_1, add(pos, 256))\n        mstore(add(pos, 224), mload(add(memberValue0, 0x20)))\n        mstore(add(pos, 0x20), and(mload(add(value, 0x20)), 0xff))\n        mstore(add(pos, 0x40), and(mload(add(value, 0x40)), 0xff))\n        mstore(add(pos, 0x60), and(mload(add(value, 0x60)), 0xff))\n        let memberValue0_2 := mload(add(value, 0x80))\n        let _1 := 0xffffffffffffffff\n        mstore(add(pos, 0x80), and(memberValue0_2, _1))\n        mstore(add(pos, 0xa0), and(mload(add(value, 0xa0)), _1))\n        end := tail\n    }\n    function abi_encode_tuple_t_uint256_t_uint64_t_bytes32_t_uint256_t_enum$_ResultErrorCodes_$16311_t_struct$_CBOR_$19218_memory_ptr__to_t_uint256_t_uint64_t_bytes32_t_uint256_t_uint8_t_struct$_CBOR_$19218_memory_ptr__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xffffffffffffffff))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), value3)\n        abi_encode_enum_ResultErrorCodes(value4, add(headStart, 128))\n        mstore(add(headStart, 160), 192)\n        tail := abi_encode_struct_CBOR(value5, add(headStart, 192))\n    }\n    function abi_encode_tuple_t_uint256_t_uint64_t_bytes32_t_uint256_t_struct$_CBOR_$19218_memory_ptr__to_t_uint256_t_uint64_t_bytes32_t_uint256_t_struct$_CBOR_$19218_memory_ptr__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, 0xffffffffffffffff))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), value3)\n        mstore(add(headStart, 128), 160)\n        tail := abi_encode_struct_CBOR(value4, add(headStart, 160))\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 copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage(slot, src)\n    {\n        let newLen := mload(src)\n        if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n        clean_up_bytearray_end_slots_bytes_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n        let srcOffset := 0\n        let srcOffset_1 := 0x20\n        srcOffset := 0x20\n        switch gt(newLen, 31)\n        case 1 {\n            let loopEnd := and(newLen, not(31))\n            let dstPtr := array_dataslot_bytes_storage(slot)\n            let i := 0\n            for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n            {\n                sstore(dstPtr, mload(add(src, srcOffset)))\n                dstPtr := add(dstPtr, 1)\n                srcOffset := add(srcOffset, srcOffset_1)\n            }\n            if lt(loopEnd, newLen)\n            {\n                let lastValue := mload(add(src, srcOffset))\n                sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n            }\n            sstore(slot, add(shl(1, newLen), 1))\n        }\n        default {\n            let value := 0\n            if newLen\n            {\n                value := mload(add(src, srcOffset))\n            }\n            sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n        }\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 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_uint8__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function mod_t_uint256(x, y) -> r\n    {\n        if iszero(y) { panic_error_0x12() }\n        r := mod(x, y)\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 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}",
      "id": 84,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "sourceMap": "580:4425:37:-:0;;;675:10:28;639:46;;-1:-1:-1;;;1345:72:36;;1063:844:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1491:8;1515:9;1539:11;1566;1601:1;3369:9:36;3424:11;3450;694:288:28;;;;;;;;;;;;;;;;;846:11;3339:10:36;1297:1:1;-1:-1:-1;;;;;1273:26:1;:12;-1:-1:-1;;;;;1273:26:1;;1269:95;;1322:31;;-1:-1:-1;;;1322:31:1;;1350:1;1322:31;;;1282:51:84;1255:18;;1322:31:1;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;1288:4:83;1304:13;;1328:27;;;;1857:1:4;2061:7;:21;875:40:28::1;::::0;;;;942:32;;::::1;::::0;;::::1;::::0;926:48:::1;::::0;-1:-1:-1;;;;;;344:28:80;;;;;3531:20:36;;::::3;;::::0;-1:-1:-1;;;3562:20:36::3;;::::0;1634:44:37::1;::::0;;;;1689:68:::1;::::0;;;;1768:80:::1;::::0;1859:40:::1;::::0;-1:-1:-1;580:4425:37;;-1:-1:-1;;;580:4425:37;1478:156:79;1568:13;1561:20;;-1:-1:-1;;;;;;1561:20:79;;;1592:34;1617:8;1592:24;:34::i;:::-;1478:156;:::o;2912:187:1:-;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:1;;;-1:-1:-1;;;;;;3020:17:1;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;14:153:84:-;-1:-1:-1;;;;;111:31:84;;101:42;;91:70;;157:1;154;147:12;172:959;360:6;368;376;384;392;400;408;416;469:3;457:9;448:7;444:23;440:33;437:53;;;486:1;483;476:12;437:53;518:9;512:16;537:53;584:5;537:53;:::i;:::-;659:2;644:18;;638:25;609:5;;-1:-1:-1;672:55:84;638:25;672:55;:::i;:::-;798:2;783:18;;777:25;746:7;;-1:-1:-1;840:15:84;;833:23;821:36;;811:64;;871:1;868;861:12;811:64;941:2;926:18;;920:25;985:3;970:19;;964:26;1030:3;1015:19;;1009:26;1075:3;1060:19;;1054:26;1120:3;1105:19;;;1099:26;172:959;;;;-1:-1:-1;894:7:84;;920:25;;964:26;;1009;;-1:-1:-1;1054:26:84;;-1:-1:-1;1099:26:84;-1:-1:-1;172:959:84;-1:-1:-1;;;172:959:84:o;1136:203::-;580:4425:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "580:4425:37:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3637:32:36;;;;;;;;;;;;;;-1:-1:-1;;;3637:32:36;;;:7;:32::i;:::-;580:4425:37;;;;;;;;;;;-1:-1:-1;4058:325:36;4140:42;4172:7;;4159:22;;4140:18;:42::i;:::-;4197:47;4216:27;4229:7;;4216:27;;;4197:18;:47::i;:::-;4259:48;4278:28;4291:7;;4278:28;;;4259:18;:48::i;:::-;4322;4341:28;4354:7;;4341:28;;;4322:18;:48::i;:::-;4073:308;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4058:7;:325::i;29533:142::-;;;;;;;;;;-1:-1:-1;29533:142:36;;;;;:::i;:::-;;:::i;:::-;;;1899:14:84;;1892:22;1874:41;;1862:2;1847:18;29533:142:36;;;;;;;;3152:922:37;;;;;;;;;;-1:-1:-1;3152:922:37;;;;;:::i;:::-;;:::i;:::-;;;2495:25:84;;;2483:2;2468:18;3152:922:37;2349:177:84;27473:1666:36;;;;;;;;;;-1:-1:-1;27473:1666:36;;;;;:::i;:::-;;:::i;9818:398::-;;;;;;;;;;-1:-1:-1;9818:398:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;10949:217::-;;;;;;;;;;-1:-1:-1;10949:217:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12089:227::-;;;;;;;;;;-1:-1:-1;12089:227:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;30388:344::-;;;;;;;;;;-1:-1:-1;30388:344:36;;;;;:::i;:::-;;:::i;15617:575::-;;;;;;:::i;:::-;;:::i;6426:1626::-;;;;;;;;;;-1:-1:-1;6426:1626:36;;;;;:::i;:::-;;:::i;23309:257::-;;;;;;;;;;-1:-1:-1;23309:257:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;29950:154::-;;;;;;;;;;-1:-1:-1;29950:154:36;;;;;:::i;:::-;;:::i;1477:77:83:-;;;;;;;;;;-1:-1:-1;1541:5:83;1477:77;;;-1:-1:-1;;;;;10568:32:84;;;10550:51;;10538:2;10523:18;1477:77:83;10404:203:84;1799:47:28;;;;;;;;;;;;;;;1931:88:83;;;;;;;;;;-1:-1:-1;2000:11:83;1931:88;;2176:135:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;14152:413:36:-;;;;;;;;;;-1:-1:-1;14152:413:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;24223:814::-;;;;;;;;;;-1:-1:-1;24223:814:36;;;;;:::i;:::-;;:::i;8139:271::-;;;;;;;;;;-1:-1:-1;8139:271:36;;;;;:::i;:::-;;:::i;13933:211::-;;;;;;;;;;-1:-1:-1;13933:211:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;10589:213::-;;;;;;;;;;-1:-1:-1;10589:213:36;;;;;:::i;:::-;10709:7;10741:35;;;-1:-1:-1;;;;;;;;;;;10741:35:36;;;;;:53;-1:-1:-1;;;10741:53:36;;-1:-1:-1;;;;;10741:53:36;;10589:213;2293:101:1;;;;;;;;;;;;;:::i;1719:245:79:-;;;;;;;;;;;;;:::i;1424:57:36:-;;;;;;;;;;;;;;;4399:150;;;;;;;;;;-1:-1:-1;4499:40:36;;;4518:4;4499:40;;;;30249:51:84;;;;4525:13:36;30316:18:84;;;30309:34;4499:40:36;;;;;;;;;30222:18:84;;;;4499:40:36;;;4489:51;;;;;4399:150;;;-1:-1:-1;;;;;;13358:33:84;;;13340:52;;13328:2;13313:18;4399:150:36;13196:202:84;2495:370:37;;;;;;;;;;-1:-1:-1;2495:370:37;;;;;:::i;:::-;;:::i;12493:240:36:-;;;;;;;;;;-1:-1:-1;12493:240:36;;;;;:::i;:::-;;:::i;1638:85:1:-;;;;;;;;;;-1:-1:-1;1684:7:1;1710:6;-1:-1:-1;;;;;1710:6:1;1638:85;;21752:1341:36;;;;;;;;;;-1:-1:-1;21752:1341:36;;;;;:::i;:::-;;:::i;:::-;;;;15146:25:84;;;15202:2;15187:18;;15180:34;;;;15119:18;21752:1341:36;14972:248:84;9033:419:36;;;;;;;;;;-1:-1:-1;9033:419:36;;;;;:::i;:::-;;:::i;19674:853::-;;;;;;:::i;:::-;;:::i;12906:974::-;;;;;;;;;;-1:-1:-1;12906:974:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1660:176:83:-;;;;;;;;;;-1:-1:-1;1747:5:83;1800:18;1660:176;;1345:72:36;;;;;;;;;;;;;;;10307:190;;;;;;;;;;-1:-1:-1;10307:190:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;25776:1038::-;;;;;;;;;;-1:-1:-1;25776:1038:36;;;;;:::i;:::-;;:::i;670:135:37:-;;;;;;;;;;;;;:::i;4766:114:36:-;;;;;;;;;;-1:-1:-1;4863:9:36;4766:114;;14657:146;;;;;;;;;;;;;:::i;639:46:28:-;;;;;;;;;;;;;;;807:101:79;;;;;;;;;;-1:-1:-1;887:13:79;;-1:-1:-1;;;;;887:13:79;807:101;;161:32:80;;;;;;;;;;;;;;;17568:726:36;;;;;;:::i;:::-;;:::i;20769:423::-;;;;;;:::i;:::-;;:::i;1107:181:79:-;;;;;;;;;;-1:-1:-1;1107:181:79;;;;;:::i;:::-;;:::i;11403:225:36:-;;;;;;;;;;-1:-1:-1;11403:225:36;;;;;:::i;:::-;;:::i;2777:235:28:-;2920:7;:5;:7::i;:::-;2969:8;2885:107;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2885:107:28;;;;;;;;;;-1:-1:-1;;;2857:147:28;;;;;;;:::i;:::-;;;;;;;;19878:397:64;19999:12;;;20009:1;19999:12;;;;;;;;;19950:13;;19981:15;;19999:12;;;;;;;;;;;-1:-1:-1;;19981:30:64;-1:-1:-1;20022:8:64;20039:7;20044:2;20039;:7;:::i;:::-;20033:19;;20050:2;20033:19;:::i;:::-;20022:30;-1:-1:-1;20063:8:64;20080:7;20085:2;20080;:7;:::i;:::-;20074:19;;20091:2;20074:19;:::i;:::-;20063:30;;20113:2;20108;:7;;;20104:33;;;20130:7;20136:1;20130:7;;:::i;:::-;;;20104:33;20157:2;20152;:7;;;20148:33;;;20174:7;20180:1;20174:7;;:::i;:::-;;;20148:33;20207:2;20200:10;;20192:2;20195:1;20192:5;;;;;;;;:::i;:::-;;;;:18;-1:-1:-1;;;;;20192:18:64;;;;;;;;;20236:2;20229:10;;20221:2;20224:1;20221:5;;;;;;;;:::i;:::-;;;;:18;-1:-1:-1;;;;;20221:18:64;;;;;;;;-1:-1:-1;20264:2:64;;19878:397;-1:-1:-1;;;;19878:397:64:o;29533:142:36:-;-1:-1:-1;;;;;1232:22:41;;29602:4:36;1232:22:41;;;:16;:22;;;;;;;;29626:41:36;29619:48;29533:142;-1:-1:-1;;29533:142:36:o;3152:922:37:-;3299:7;;3443:23;3447:19;3443:1;:23;:::i;:::-;3384:82;;:39;:82;:::i;:::-;3324:153;;3526:37;3506:17;:57;;;:171;;;-1:-1:-1;3640:37:37;3584:53;;;;:33;:53;:::i;:::-;:93;3506:171;3488:579;;;3730:70;3763:37;3730:9;:70;:::i;:::-;3704:111;;;;;3488:579;3935:82;;;;:33;:82;:::i;:::-;3874:166;;:9;:166;:::i;3488:579::-;3313:761;3152:922;;;;:::o;27473:1666:36:-;27628:20;2965:105;-1:-1:-1;;;;;;;;;;;2988:11:36;3010:10;2988:33;;;;:21;;;;;:33;;;;;;;;;;2965:105;;;;;;;;;;;-1:-1:-1;;;2965:105:36;;;;;;;2988:33;;;2965:8;:105::i;:::-;27672:7:::1;27666:1211;27685:25:::0;;::::1;27666:1211;;;27843:27;27756:62;27792:13;;27806:2;27792:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:25;27756:35;:62::i;:::-;:114;;;;;;;;:::i;:::-;;27734:1132;;27910:179;27949:13;;27963:2;27949:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;27997:73;::::0;-1:-1:-1;;;27997:73:36;;27949:25;::::1;::::0;27997:19:::1;::::0;:44:::1;::::0;:73:::1;::::0;28042:27:::1;::::0;27997:73:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;27997:73:36::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;27910:179;;;;;;;:::i;:::-;;;;;;;;27734:1132;;;28133:13;;28147:2;28133:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;::::0;;;;;::::1;;;:::i;:::-;:43;;::::0;;:118:::1;;;28201:13;;28215:2;28201:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;:50:::0;;-1:-1:-1;28133:118:36::1;28111:755;;;28291:238;28330:13;;28344:2;28330:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:25;28429:7;:5;:7::i;:::-;28386:123;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;28386:123:36;;::::1;::::0;;;;;;;28291:238:::1;::::0;;::::1;:::i;28111:755::-;28586:264;28623:13;;28637:2;28623:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:25;28671:13:::0;;28685:2;28671:17;;::::1;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;::::0;;;;;::::1;;;:::i;:::-;28732:13;;28746:2;28732:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;;;28793:13;;28807:2;28793:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;28586:14;:264::i;:::-;28570:280;::::0;;::::1;:::i;:::-;;;28111:755;27712:5;;27666:1211;;;-1:-1:-1::0;28987:16:36;;28983:149:::1;;29020:100;29063:10;29093:12;29020:16;:100::i;9818:398::-:0;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9932:14:36;9948:30;;2417:45;2453:8;2417:35;:45::i;:::-;:56;;;;;;;;:::i;:::-;;2413:173;;2494:53;;-1:-1:-1;;;2494:53:36;;2486:62;;2494:19;;:44;;:53;;2539:7;;2494:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2494:53:36;;;;;;;;;;;;:::i;:::-;2486:7;:62::i;:::-;2413:173;;;10003:14:::1;2717:139;2754:46;2791:8;2754:36;:46::i;:::-;:56:::0;2717:139:::1;::::0;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;2717:139:36::1;::::0;::::1;::::0;-1:-1:-1;;;;;2754:56:36;;::::1;2740:10;:70;::::0;2717:8:::1;:139::i;:::-;10101:45:::2;10131:14;10101:29;:45::i;:::-;10089:66;::::0;;::::2;::::0;::::2;::::0;;10101:54:::2;::::0;::::2;10089:66:::0;;-1:-1:-1;;;;;10089:66:36;::::2;::::0;;-1:-1:-1;;;10089:66:36;::::2;-1:-1:-1::0;;;;;10089:66:36::2;;::::0;::::2;::::0;-1:-1:-1;;;10089:66:36;::::2;;;::::0;;;;;;;;;;;;;;;;;;;;;;;;;;::::2;::::0;::::2;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;10173:11;-1:-1:-1::0;;;;;;;;;;;1097:28:41;2176:135:28;10173:11:36::2;:35;::::0;;;:19:::2;::::0;;::::2;:35;::::0;;;;10166:42;;;10173:35;;;;;10166:42:::2;::::0;;::::2;10173:35:::0;10166:42:::2;:::i;:::-;-1:-1:-1::0;10166:42:36::2;;::::0;::::2;::::0;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;10166:42:36;;;::::2;::::0;::::2;::::0;;;;;;;;;;::::2;::::0;;;;::::2;:::i;:::-;;;;;2575:1:::1;2413:173:::0;9818:398;;;;;:::o;10949:217::-;11058:23;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11058:23:36;11106:52;11143:14;11106:36;:52::i;:::-;11099:59;;;;;;;;;;-1:-1:-1;;;;;11099:59:36;;;;-1:-1:-1;;;11099:59:36;;;;;;;;-1:-1:-1;;;11099:59:36;;-1:-1:-1;;;;;11099:59:36;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11099:59:36;;;-1:-1:-1;;11099:59:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11099:59:36;;;;;;;;;;;;-1:-1:-1;;10949:217:36:o;12089:227::-;12201:23;12249:59;12293:14;12249:43;:59::i;30388:344::-;1531:13:1;:11;:13::i;:::-;30517:7:36::1;30512:169;30535:12;:19;30530:2;:24;30512:169;;;30578:17;30598:12;30611:2;30598:16;;;;;;;;:::i;:::-;;;;;;;30578:36;;30664:5;30629:11;-1:-1:-1::0;;;;;;;;;;;1097:28:41;2176:135:28;30629:11:36::1;-1:-1:-1::0;;;;;30629:32:36;;;::::1;;::::0;;;:21:::1;::::0;;::::1;:32;::::0;;;;;:40;;-1:-1:-1;;30629:40:36::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;30556:5:36::1;30512:169;;;;30696:28;30711:12;30696:28;;;;;;:::i;:::-;;;;;;;;30388:344:::0;:::o;15617:575::-;15897:22;15806:42;4492:11:37;15838:9:36;15806:15;:42::i;:::-;1873:97;1914:8;4679:9:37;1896:14:36;:26;;1873:97;;;;;;;;;;;;;-1:-1:-1;;;1873:97:36;;;:8;:97::i;:::-;1982;2023:13;:8;2034:2;2023:13;:::i;:::-;4679:9:37;2005:31:36;;1982:97;;;;;;;;;;;;;-1:-1:-1;;;1982:97:36;;;:8;:97::i;:::-;15868:9:::1;2168:84;2191:21;2208:3;2191:16;:21::i;:::-;2168:84;;;;;;;;;;;;;-1:-1:-1::0;;;2168:84:36::1;;::::0;:8:::1;:84::i;:::-;15954:38:::2;15968:9;15979;15990:1;15954:13;:38::i;:::-;15937:55:::0;-1:-1:-1;16079:105:36::2;15937:55:::0;4679:9:37;16164::36::2;16079:105;;;;;;;;:::i;:::-;;;;;;;;2090:1:::1;15617:575:::0;;;;;:::o;6426:1626::-;6520:14;1710:6:1;-1:-1:-1;;;;;1710:6:1;6555:30:36;1710:6:1;6598:617:36;;6696:29;6780:9;6769:39;;;;;;;;;;;;:::i;:::-;6740:68;;-1:-1:-1;6740:68:36;-1:-1:-1;6823:26:36;6740:68;6823:18;:26::i;:::-;6891:16;6880:41;;;;;;;;;;;;:::i;:::-;6864:57;;6624:309;6598:617;;;6997:96;7038:6;-1:-1:-1;;;;;7024:20:36;:10;-1:-1:-1;;;;;7024:20:36;;6997:96;;;;;;;;;;;;;-1:-1:-1;;;6997:96:36;;;:8;:96::i;:::-;7180:9;7169:34;;;;;;;;;;;;:::i;:::-;7153:50;;6598:617;7245:22;;:36;;;;:93;;-1:-1:-1;7302:22:36;;1747:5:83;1800:18;7302:36:36;7245:93;7227:177;;;7365:27;;;;;;;;;;;;;;-1:-1:-1;;;7365:27:36;;;:7;:27::i;:::-;1747:5:83;1800:18;7414:22:36;:35;7462:103;;;;;;;;;;;;-1:-1:-1;;;7462:103:36;;;;;;7493:9;-1:-1:-1;;;;;7485:30:36;;:34;;;7462:8;:103::i;:::-;7576:131;-1:-1:-1;;;;;;;;7599:60:36;;:9;-1:-1:-1;;;;;7599:15:36;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7599:60:36;;;7576:131;;;;;;;;;;;;;-1:-1:-1;;;7576:131:36;;;:8;:131::i;:::-;7718:185;7780:4;-1:-1:-1;;;;;7741:44:36;7749:9;-1:-1:-1;;;;;7749:16:36;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7741:44:36;;:116;;;;;7848:8;-1:-1:-1;;;;;7807:50:36;7815:9;-1:-1:-1;;;;;7815:18:36;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7807:50:36;;7741:116;7718:185;;;;;;;;;;;;;-1:-1:-1;;;7718:185:36;;;:8;:185::i;:::-;7950:29;7965:13;7950:14;:29::i;:::-;1747:5:83;1800:18;1541:5;-1:-1:-1;;;;;7997:47:36;8006:6;-1:-1:-1;;;;;7997:47:36;;8034:9;:7;:9::i;:::-;7997:47;;;;;;:::i;:::-;;;;;;;;6509:1543;;6426:1626;:::o;23309:257::-;23492:66;;-1:-1:-1;;;23492:66:36;;23442:25;;23492:19;;:45;;:66;;23538:8;;23548:9;;;;23492:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;23492:66:36;;;;;;;;;;;;:::i;:::-;23485:73;23309:257;-1:-1:-1;;;23309:257:36:o;29950:154::-;1531:13:1;:11;:13::i;:::-;30070:26:36::1;30085:10;30070:14;:26::i;:::-;29950:154:::0;:::o;2176:135:28:-;2233:13;2266:37;2276:26;2266:9;:37::i;:::-;2259:44;;2176:135;:::o;14152:413:36:-;14276:37;14368:15;-1:-1:-1;;;;;14341:50:36;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14341:50:36;;14331:60;;14407:8;14402:156;14421:28;;;14402:156;;;14489:57;14525:15;;14541:3;14525:20;;;;;;;:::i;:::-;;;;;;;14489:35;:57::i;:::-;14474:7;14482:3;14474:12;;;;;;;;:::i;:::-;;;;;;:72;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;14451:6:36;;14402:156;;24223:814;24531:7;2965:105;-1:-1:-1;;;;;;;;;;;2988:11:36;2176:135:28;2965:105:36;24468:14;24484:27:::1;::::0;2417:45:::1;2453:8;2417:35;:45::i;:::-;:56;;;;;;;;:::i;:::-;;2413:173;;2494:53;::::0;-1:-1:-1;;;2494:53:36;;2486:62:::1;::::0;2494:19:::1;::::0;:44:::1;::::0;:53:::1;::::0;2539:7;;2494:53:::1;;;:::i;2486:62::-;2413:173;;;24593:113:::2;::::0;;;;::::2;::::0;;;::::2;::::0;;-1:-1:-1;;;24593:113:36::2;::::0;::::2;::::0;::::2;::::0;24616:39;;::::2;::::0;24593:8:::2;:113::i;:::-;24844:185;24882:14;24918:15;24949:27;24991;;24844:23;:185::i;:::-;24837:192;;2575:1;3081::::1;;24223:814:::0;;;;;;:::o;8139:271::-;8212:4;2000:11:83;8340:51:36;;;;;8386:5;-1:-1:-1;;;;;8375:16:36;:7;1684::1;1710:6;-1:-1:-1;;;;;1710:6:1;;1638:85;8375:7:36;-1:-1:-1;;;;;8375:16:36;;8229:173;8139:271;-1:-1:-1;;8139:271:36:o;13933:211::-;14040:20;14085:51;14121:14;14085:35;:51::i;2293:101:1:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;1719:245:79:-;887:13;;735:10:3;;-1:-1:-1;;;;;887:13:79;1816:24;;1812:108;;1857:51;;-1:-1:-1;;;1857:51:79;;29867:2:84;1857:51:79;;;29849:21:84;29906:2;29886:18;;;29879:30;29945:34;29925:18;;;29918:62;-1:-1:-1;;;29996:18:84;;;29989:39;30045:19;;1857:51:79;29665:405:84;1812:108:79;1930:26;1949:6;1930:18;:26::i;2495:370:37:-;2627:7;2825:2;2777:19;;;;:44;;2803:18;2820:1;2803:14;:18;:::i;:::-;2777:44;;;2799:1;2777:44;2776:51;;;;:::i;:::-;2772:55;;:1;:55;:::i;:::-;2727:119;;;;:19;:119;:::i;:::-;2686:160;;:21;:160;:::i;:::-;2659:198;;:9;:198;:::i;12493:240:36:-;12619:12;12656:53;12694:14;12656:37;:53::i;:::-;:69;;12649:76;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12493:240;;;:::o;21752:1341::-;22011:17;22030;22070:8;22065:1021;22084:28;;;22065:1021;;;22202:27;22141:57;22177:15;;22193:3;22177:20;;;;;;;:::i;22141:57::-;:88;;;;;;;;:::i;:::-;;22137:938;;22250:34;22287:58;22324:15;;22340:3;22324:20;;;;;;;:::i;:::-;;;;;;;22287:36;:58::i;:::-;22377:19;;;;-1:-1:-1;22364:32:36;;-1:-1:-1;;;22377:19:36;;-1:-1:-1;;;;;22377:19:36;22364:32;;:::i;:::-;22419:21;;22364:32;;-1:-1:-1;;;;22419:21:36;;;;:25;22415:559;;22523:21;;22482:63;;22510:11;;-1:-1:-1;;;22523:21:36;;;;22482:27;:63::i;:::-;22469:76;;;;:::i;:::-;;;22415:559;;;22598:19;;;;:33;22594:361;;22673:49;22689:11;22702:9;:19;;;22673:15;:49::i;22594:361::-;22891:39;22907:11;22927:1;22891:15;:39::i;:::-;22878:52;;;;:::i;:::-;;;22594:361;23046:13;23006:37;:9;:19;;:35;:37::i;:::-;-1:-1:-1;;;;;23006:53:36;;;;;:::i;:::-;22992:67;;;;:::i;:::-;;;22231:844;22137:938;22114:6;;22065:1021;;;;21752:1341;;;;;;;;;:::o;9033:419::-;9207:49;;-1:-1:-1;;;9207:49:36;;;;;2495:25:84;;;9158:7:36;;;;-1:-1:-1;;;;;9207:8:36;:40;;;;2468:18:84;;9207:49:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9183:73;;9267:81;9307:1;9290:14;:18;;;9267:81;;;;;;;;;;;;;-1:-1:-1;;;9267:81:36;;;:8;:81::i;:::-;9366:78;9396:8;9419:14;9366:15;:78::i;:::-;9359:85;9033:419;-1:-1:-1;;;;9033:419:36:o;19674:853::-;20127:22;19953:10;19965:22;1635:169;1658:17;;:21;;;;:77;;-1:-1:-1;1683:52:36;;-1:-1:-1;;;1683:52:36;;1729:4;1683:52;;;10550:51:84;-1:-1:-1;;;;;1683:37:36;;;;;10523:18:84;;1683:52:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1658:102;;;;;1759:1;1739:17;:21;;;1658:102;1635:169;;;;;;;;;;;;;-1:-1:-1;;;1635:169:36;;;:8;:169::i;:::-;20010:68:::1;4492:11:37::0;20038:14:36::1;20055:22;20010:27;:68::i;:::-;1873:97;1914:8:::0;4679:9:37;1896:14:36::1;4556:140:37::0;1873:97:36::1;1982;2023:13;:8:::0;2034:2:::1;2023:13;:::i;1982:97::-;20098:9:::2;2168:84;2191:21;2208:3;2191:16;:21::i;2168:84::-;20184:110:::3;20220:1;20237:9:::0;20261:22;20184:13:::3;:110::i;:::-;20167:127;;20375:24;;20305:52;20342:14;20305:36;:52::i;:::-;:67;;::::0;:94:::3;::::0;;:67;:94:::3;:::i;:::-;-1:-1:-1::0;20415:104:36::3;20441:14:::0;4679:9:37;20499::36::3;20415:104;;;;;;;;:::i;:::-;;;;;;;;2090:1:::2;1806::::1;19674:853:::0;;;;;;;;:::o;12906:974::-;-1:-1:-1;;;;;;;;;;;;;;;;;13068:31:36;13102:59;13146:14;13102:43;:59::i;:::-;13068:93;;13176:15;:29;13206:7;13215:53;13253:14;13215:37;:53::i;:::-;:69;;13176:109;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13176:109:36;;;;;;;;;;;;:::i;:::-;;;13172:701;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;13471:172;;;;;;;;;;-1:-1:-1;13471:172:36;;;;13618:7;13580:46;;;;;;;;:::i;:::-;;;;-1:-1:-1;;13580:46:36;;;;;;;;;13471:172;;13464:179;12906:974;-1:-1:-1;;;;12906:974:36:o;13172:701::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13708:153:36;;;;;;;;;;-1:-1:-1;13708:153:36;;;;;;;;;;;;;;;;;;;;;;;13701:160;12906:974;-1:-1:-1;;;;12906:974:36:o;13172:701::-;13057:823;12906:974;;;:::o;10307:190::-;10408:21;;:::i;:::-;10454:35;;;;-1:-1:-1;;;;;;;;;;;10454:35:36;;;;;;;10447:42;;;;;;;;;-1:-1:-1;;;;;10447:42:36;;;;;;;;-1:-1:-1;;;10447:42:36;;;;;;;;-1:-1:-1;;;10447:42:36;;-1:-1:-1;;;;;10447:42:36;;;;;10454:19;10447:42;;;;;;;;;;10454:35;;10447:42;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10447:42:36;;;-1:-1:-1;;10447:42:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10447:42:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10447:42:36;;;;-1:-1:-1;;;10447:42:36;;;;;;;;;-1:-1:-1;;;10447:42:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10447:42:36;;;;-1:-1:-1;;;10447:42:36;;-1:-1:-1;10447:42:36;10307:190;-1:-1:-1;;10307:190:36:o;25776:1038::-;26143:7;2965:105;-1:-1:-1;;;;;;;;;;;2988:11:36;2176:135:28;2965:105:36;26080:14;26096:27:::1;::::0;2417:45:::1;2453:8;2417:35;:45::i;:::-;:56;;;;;;;;:::i;:::-;;2413:173;;2494:53;::::0;-1:-1:-1;;;2494:53:36;;2486:62:::1;::::0;2494:19:::1;::::0;:44:::1;::::0;:53:::1;::::0;2539:7;;2494:53:::1;;;:::i;2486:62::-;2413:173;;;26199:164:::2;26252:1;26222:27;:31;;;:99;;;;;26306:15;26275:27;:46;;;;26222:99;26199:164;;;;;;;;;;;;;-1:-1:-1::0;;;26199:164:36::2;;::::0;:8:::2;:164::i;:::-;26410:113;::::0;;;;::::2;::::0;;;::::2;::::0;;-1:-1:-1;;;26410:113:36::2;::::0;::::2;::::0;::::2;::::0;26433:39;;::::2;::::0;26410:8:::2;:113::i;:::-;26617:189;26655:14;26684:27;26726;26768;;26617:23;:189::i;:::-;26609:197;;2575:1;3081::::1;;25776:1038:::0;;;;;;;:::o;670:135:37:-;758:39;;;;;;;;;;;;;;;;;;670:135::o;14657:146:36:-;14742:7;-1:-1:-1;;;;;;;;;;;14774:17:36;:21;;14794:1;14774:21;:::i;17568:726::-;17999:22;17825:10;17837:22;1635:169;1658:17;;:21;;;;:77;;-1:-1:-1;1683:52:36;;-1:-1:-1;;;1683:52:36;;1729:4;1683:52;;;10550:51:84;-1:-1:-1;;;;;1683:37:36;;;;;10523:18:84;;1683:52:36;10404:203:84;1635:169:36;17882:68:::1;4492:11:37::0;17910:14:36::1;4369:142:37::0;17882:68:36::1;1873:97;1914:8:::0;4679:9:37;1896:14:36::1;4556:140:37::0;1873:97:36::1;1982;2023:13;:8:::0;2034:2:::1;2023:13;:::i;1982:97::-;17970:9:::2;2168:84;2191:21;2208:3;2191:16;:21::i;2168:84::-;18056:109:::3;18084:9;18108;18132:22;18056:13;:109::i;:::-;18039:126:::0;-1:-1:-1;18181:105:36::3;18039:126:::0;4679:9:37;18266::36::3;18181:105;;;;;;;;:::i;:::-;;;;;;;;2090:1:::2;1806::::1;17568:726:::0;;;;;;;:::o;20769:423::-;20900:14;20916:27;;2417:45;2453:8;2417:35;:45::i;:::-;:56;;;;;;;;:::i;:::-;;2413:173;;2494:53;;-1:-1:-1;;;2494:53:36;;2486:62;;2494:19;;:44;;:53;;2539:7;;2494:53;;;:::i;2486:62::-;20769:423;;;:::o;2413:173::-;20961:34:::1;20998:52;21035:14;20998:36;:52::i;:::-;20961:89:::0;-1:-1:-1;4679:9:37;21061:45:36;;;;:19:::1;::::0;:45:::1;::::0;;;-1:-1:-1;;;21061:45:36;::::1;-1:-1:-1::0;;;;;21061:45:36::1;;:::i;:::-;::::0;;::::1;::::0;;;::::1;-1:-1:-1::0;;;;;21061:45:36;;::::1;;::::0;;::::1;::::0;;::::1;;;::::0;;;21164:19;;21122:62:::1;::::0;;37148:25:84;;;-1:-1:-1;;;21164:19:36;;::::1;::::0;;::::1;37204:2:84::0;37189:18;;37182:61;21122:62:36::1;::::0;-1:-1:-1;37121:18:84;21122:62:36::1;;;;;;;20950:242;20769:423:::0;;;:::o;1107:181:79:-;1531:13:1;:11;:13::i;:::-;1197::79::1;:24:::0;;-1:-1:-1;;;;;1197:24:79;::::1;-1:-1:-1::0;;;;;;1197:24:79;;::::1;::::0;::::1;::::0;;;1262:7:::1;1684::1::0;1710:6;-1:-1:-1;;;;;1710:6:1;;1638:85;1262:7:79::1;-1:-1:-1::0;;;;;1237:43:79::1;;;;;;;;;;;1107:181:::0;:::o;11403:225:36:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11567:53:36;11605:14;11567:37;:53::i;:::-;11560:60;;;;;;;;;;-1:-1:-1;;;;;11560:60:36;;;;-1:-1:-1;;;11560:60:36;;-1:-1:-1;;;;;11560:60:36;;;;;-1:-1:-1;;;11560:60:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11403:225;;;:::o;2565:204:28:-;2706:10;2701:61;;2733:17;2741:8;2733:7;:17::i;:::-;2565:204;;:::o;1886:617:41:-;1951:20;2017:23;;;-1:-1:-1;;;;;;;;;;;2017:23:41;;;;;2055:16;;;:32;-1:-1:-1;;;2055:32:41;;;;:37;2051:445;;2129:16;;;:25;-1:-1:-1;;;2129:25:41;;-1:-1:-1;;;;;2129:25:41;2113:12;:41;2109:196;;-1:-1:-1;2182:30:41;;1886:617;-1:-1:-1;;1886:617:41:o;2109:196::-;-1:-1:-1;2260:29:41;;1886:617;-1:-1:-1;;1886:617:41:o;2051:445::-;2326:25;;-1:-1:-1;;;;;2326:25:41;:39;2322:174;;-1:-1:-1;2389:27:41;;1886:617;-1:-1:-1;;1886:617:41:o;2322:174::-;-1:-1:-1;2456:28:41;;1886:617;-1:-1:-1;;1886:617:41:o;32022:2928:36:-;32295:18;32404:34;32441:52;32478:14;32441:36;:52::i;:::-;32570:19;;-1:-1:-1;;;;;32680:23:36;;;;;-1:-1:-1;;;32570:19:36;;;-1:-1:-1;;;;;32570:19:36;;-1:-1:-1;32570:19:36;;-1:-1:-1;;;;32774:21:36;;;;:25;32770:2173;;33195:19;;32835:29;;;;;;32983:286;;33024:14;;32983:286;;;;33103:27;;33149;;;;-1:-1:-1;;;;;33195:19:36;;;-1:-1:-1;;;33233:21:36;;;;32983:22;:286::i;:::-;32816:453;;;;;;33288:19;33284:785;;;33386:165;;;37456:25:84;;;4492:11:37;37512:2:84;37497:18;;37490:34;37540:18;;;37533:34;;;33386:165:36;;;;;;;37444:2:84;33386:165:36;;;33284:785;;;33642:411;33698:14;33735:27;;4492:11:37;33822:21:36;33908:1;33872:25;33866:39;:43;:168;;;;;;;;;;;;;;;;;;;;;;33938:25;33866:168;33642:411;;;;;;;;;;;:::i;:::-;;;;;;;;33284:785;34271:187;34310:14;34344:27;34391;34271:187;;;;;;;;;;;;:20;:187::i;:::-;32801:1669;;;32770:2173;;;34539:101;34577:14;4492:11:37;34539:101:36;;;15146:25:84;;;15202:2;15187:18;;15180:34;;;;15119:18;34539:101:36;;;;;;;34725:206;34764:14;34797:27;34843;34889;;34725:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;34725:20:36;;-1:-1:-1;;;34725:206:36:i;:::-;32320:2630;32022:2928;;;;;;;:::o;4837:162:37:-;4961:30;;-1:-1:-1;;;;;4961:21:37;;;:30;;;;;4983:7;;4961:30;;;;4983:7;4961:21;:30;;;;;;;;;;;;;;;;;;;1507:151:41;1574:24;1618;;;-1:-1:-1;;;;;;;;;;;1618:24:41;;;;;;1507:151::o;2511:1151::-;2584:23;2620:33;2656:24;2672:7;2656:15;:24::i;:::-;2620:60;-1:-1:-1;2711:30:41;2695:12;:46;;;;;;;;:::i;:::-;;2691:964;;2758:26;2787:23;;;-1:-1:-1;;;;;;;;;;;2787:23:41;;;;;:48;;2854:19;;2787:48;;2758:26;2787:48;;2854:19;;;:::i;:::-;;;:23;2850:480;;;2996:15;;-1:-1:-1;;;3015:12:41;2996;;3009:1;;2996:15;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2996:15:41;-1:-1:-1;;;;;2996:31:41;;;:138;;3105:29;2996:138;;;3051:29;2988:165;2511:1151;-1:-1:-1;;;;2511:1151:41:o;2850:480::-;-1:-1:-1;3281:33:41;;2511:1151;-1:-1:-1;;;2511:1151:41:o;2691:964::-;3367:27;3351:12;:43;;;;;;;;:::i;:::-;;3347:308;;-1:-1:-1;3418:32:41;;2511:1151;-1:-1:-1;;2511:1151:41:o;3347:308::-;3488:29;3472:12;:45;;;;;;;;:::i;:::-;;3468:187;;-1:-1:-1;3541:34:41;;2511:1151;-1:-1:-1;;2511:1151:41:o;1796:162:1:-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:1;735:10:3;1855:23:1;1851:101;;1901:40;;-1:-1:-1;;;1901:40:1;;735:10:3;1901:40:1;;;10550:51:84;10523:18;;1901:40:1;10404:203:84;3081:220:70;3144:4;;3183:24;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3183:28:70;;:71;;;;-1:-1:-1;3253:1:70;3233:17;;;;:3;:17;:::i;:::-;:21;;;3183:71;:99;;;;-1:-1:-1;3279:3:70;3258:17;;;;:3;:17;:::i;:::-;:24;;;;3161:132;3081:220;-1:-1:-1;;3081:220:70:o;31305:709:36:-;31449:22;-1:-1:-1;;;;;;;;;;;31506:20:36;;31509:17;;31506:20;;;:::i;:::-;;;;;-1:-1:-1;31506:20:36;-1:-1:-1;31575:34:36;31612:52;31506:20;31612:36;:52::i;:::-;31684:19;;31675:61;;;;;;;;;;;;-1:-1:-1;;;31675:61:36;;;;31684:19;;-1:-1:-1;31675:61:36;;-1:-1:-1;;;;;31684:19:36;;;:33;;31675:8;:61::i;:::-;31762:32;;4679:9:37;-1:-1:-1;;;;;31865:44:36;-1:-1:-1;;;31865:44:36;-1:-1:-1;;;;;;31809:41:36;;;31784:10;-1:-1:-1;;;;31809:41:36;;-1:-1:-1;;;31809:41:36;;;;;-1:-1:-1;;;;;31865:44:36;;;;31924:19;;;:30;;;31991:4;31969:19;;;:26;31991:4;31969:19;:26;:::i;:::-;;;;31478:536;31305:709;;;;;:::o;1478:156:79:-;1568:13;1561:20;;-1:-1:-1;;;;;;1561:20:79;;;1592:34;1617:8;1592:24;:34::i;38665:306:36:-;38765:7;38760:164;38783:10;:17;38778:2;:22;38760:164;;;38824:17;38844:10;38855:2;38844:14;;;;;;;;:::i;:::-;;;;;;;38824:34;;38908:4;38873:11;-1:-1:-1;;;;;;;;;;;1097:28:41;2176:135:28;38873:11:36;-1:-1:-1;;;;;38873:32:36;;;;;;;;:21;;;;:32;;;;;;:39;;-1:-1:-1;;38873:39:36;;;;;;;;;;-1:-1:-1;38802:5:36;38760:164;;;;38939:24;38952:10;38939:24;;;;;;:::i;3059:372:28:-;3137:13;3168:19;3200:25;3216:8;3200:15;:25::i;:::-;-1:-1:-1;;;;;3190:36:28;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3190:36:28;;3168:58;;3242:7;3237:155;3260:6;:13;3255:2;:18;3237:155;;;3304:8;3313:2;3304:12;;;;;;;:::i;:::-;;;;3291:6;3298:2;3291:10;;;;;;;;:::i;:::-;;;;:25;-1:-1:-1;;;;;3291:25:28;;;;;;;;-1:-1:-1;3360:5:28;;3237:155;;34958:659:36;35240:18;35289:183;35318:14;35348:27;35391;35434;;35289:14;:183::i;:::-;35276:196;;35523:86;35562:10;35588;35523:16;:86::i;:::-;34958:659;;;;;;;:::o;1724:154:41:-;1792:25;1837:24;;;-1:-1:-1;;;;;;;;;;;1837:24:41;;;;;:33;;;1724:154::o;3745:157:70:-;3871:18;;3816:6;;3871:22;;:18;;3892:1;3871:22;:::i;:::-;3842:25;;:52;;;;;:25;;;-1:-1:-1;;;;;3842:25:70;:52;:::i;35625:3032:36:-;35999:29;36044:24;36084:39;36175:9;36151:33;-1:-1:-1;;;;36199:27:36;;36227:1;36199:30;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;36199:46:36;;;36195:2410;;36262:32;36297:61;:49;36318:27;;36297:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;36297:20:36;;-1:-1:-1;;;36297:49:36:i;:::-;:59;:61::i;:::-;36262:96;;36394:1;36377:7;:14;:18;36373:1621;;;36497:13;-1:-1:-1;;;;;36481:53:36;;36540:20;36584:14;36621:27;36671;36721:12;36756:31;36810:318;;;;;;;;36861:46;;;;;;;;;;;;;;;;;;;;;;;;36904:1;36861:46;;;36810:318;;;;36947:1;36810:318;;;;;;36986:1;36810:318;;;;;;37037:1;36810:318;;;;;;37070:1;-1:-1:-1;;;;;36810:318:36;;;;;37103:1;-1:-1:-1;;;;;36810:318:36;;;;36481:666;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36477:846;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;37300:3;-1:-1:-1;36373:1621:36;;36477:846;;;;;;;;;;;37193:4;37171:26;;36373:1621;;;37445:13;-1:-1:-1;;;;;37429:53:36;;37488:20;37532:14;37569:27;37619;37669:12;37728:21;:7;37736:1;37728:10;;;;;;;;:::i;:::-;;;;;;;:19;:21::i;:::-;37704:46;;;;;;;;:::i;:::-;37773:7;37781:1;37773:10;;;;;;;;:::i;:::-;;;;;;;37429:373;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;37425:554;;;;:::i;:::-;37848:4;37826:26;;37425:554;36247:1758;36195:2410;;;38106:13;-1:-1:-1;;;;;38090:54:36;;38150:20;38190:14;38223:27;38269;38315:12;38346:49;38367:27;;38346:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;38346:20:36;;-1:-1:-1;;;38346:49:36:i;:::-;38090:320;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38086:508;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;38551:3;-1:-1:-1;38086:508:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38571:23;38086:508;;;38452:4;38430:26;;38086:508;38640:9;38615:34;;;;:::i;:::-;;;35625:3032;;;;;;;;;;;:::o;39206:630::-;39541:287;;;;;;;;39584:10;-1:-1:-1;;;;;39541:287:36;;;;;39626:12;-1:-1:-1;;;;;39541:287:36;;;;;39671:27;39541:287;;;;;;39730:27;39541:287;;;;39789:27;39541:287;;;39484:45;39514:14;39484:29;:45::i;:::-;:344;;:54;;;:344;;;;;;;;;;;;-1:-1:-1;;;39484:344:36;-1:-1:-1;;;;;;;;;;39484:344:36;;;-1:-1:-1;;;39484:344:36;-1:-1:-1;;;;;;39484:344:36;;;-1:-1:-1;;;;;39484:344:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:54;;:344;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;39206:630:36:o;2912:187:1:-;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:1;;;-1:-1:-1;;;;;;3020:17:1;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;3503:307:28:-;3587:12;3617:186;3634:2;3624:7;:12;3617:186;;;3659:8;3668:7;3659:17;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;3659:22:28;3655:68;3702:5;3655:68;3766:10;;3617:186;;;3503:307;;;:::o;2488:204:66:-;2563:11;;:::i;:::-;2622:32;;;;;;;;;;;;2586:33;2622:32;;;;2668:18;2622:32;2668:10;:18::i;6109:1231::-;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;;43510:4:84;43498:17;;;1813:45:66;;;43480:36:84;43552:17;;;43532:18;;;43525:45;43453:18;;1813:45:66;43310: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;;43510:4:84;43498:17;;;1813:45:66;;;43480:36:84;43552:17;;;43532:18;;;43525:45;43453:18;;1813:45:66;43310: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;3010:1033::-;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;;43940:4:84;43928:17;;3859:31:66::1;::::0;::::1;43910:36:84::0;43883:18;;3859:31:66::1;43766:186: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;8833:697::-;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;:::-;9360:26;;;;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;;43940:4:84;43928:17;;9480:44:66;;;43910:36:84;43883:18;;9480:44:66;43766:186:84;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;4049:345::-;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;;43510:4:84;43498:17;;;1813:45:66;;;43480:36:84;43552:17;;;43532:18;;;43525:45;43453:18;;1813:45:66;43310: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;;43510:4:84;43498:17;;;7982:54:66::1;::::0;::::1;43480:36:84::0;1121:1:66::1;43532:18:84::0;;;43525:45;43453:18;;7982:54:66::1;43310: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;;4614:1135:::0;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;;44276:2:84;5669:49:66;;;44258:21:84;44315:2;44295:18;;;44288:30;44354:34;44334:18;;;44327:62;-1:-1:-1;;;44405:18:84;;;44398:37;44452:19;;5669:49:66;44074:403:84;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;;;;;15146:25:84;;;15187:18;;;15180:34;;;15119:18;;1036:31:65;14972: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;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;;;;;15146:25:84;;;15187:18;;;15180:34;;;15119:18;;1036:31:65;14972: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;;;;;15146:25:84;;;15187:18;;;15180:34;;;15119:18;;1036:31:65;14972: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;;;;;15146:25:84;;;15187:18;;;15180:34;;;15119:18;;1036:31:65;14972: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;5755:348:66:-:0;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;;43940:4:84;43928:17;;;6041:49:66;;;43910:36:84;43883:18;;6041:49:66;43766:186:84;-1:-1:-1;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;14:250:84;99:1;109:113;123:6;120:1;117:13;109:113;;;199:11;;;193:18;180:11;;;173:39;145:2;138:10;109:113;;;-1:-1:-1;;256:1:84;238:16;;231:27;14:250::o;269:1072::-;-1:-1:-1;;;670:3:84;663:34;645:3;726:6;720:13;742:75;810:6;805:2;800:3;796:12;789:4;781:6;777:17;742:75;:::i;:::-;877:13;;836:16;;;;899:76;877:13;961:2;953:11;;946:4;934:17;;899:76;:::i;:::-;1036:13;;994:17;;;1058:76;1036:13;1120:2;1112:11;;1105:4;1093:17;;1058:76;:::i;:::-;1195:13;;1153:17;;;1217:76;1195:13;1279:2;1271:11;;1264:4;1252:17;;1217:76;:::i;:::-;1313:17;1332:2;1309:26;;269:1072;-1:-1:-1;;;;;;269:1072:84:o;1346:131::-;-1:-1:-1;;;;;1421:31:84;;1411:42;;1401:70;;1467:1;1464;1457:12;1482:247;1541:6;1594:2;1582:9;1573:7;1569:23;1565:32;1562:52;;;1610:1;1607;1600:12;1562:52;1649:9;1636:23;1668:31;1693:5;1668:31;:::i;1926:161::-;1993:20;;2053:8;2042:20;;2032:31;;2022:59;;2077:1;2074;2067:12;2092:252;2159:6;2167;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;2272:9;2259:23;2249:33;;2301:37;2334:2;2323:9;2319:18;2301:37;:::i;:::-;2291:47;;2092:252;;;;;:::o;2531:387::-;2614:8;2624:6;2678:3;2671:4;2663:6;2659:17;2655:27;2645:55;;2696:1;2693;2686:12;2645:55;-1:-1:-1;2719:20:84;;-1:-1:-1;;;;;2751:30:84;;2748:50;;;2794:1;2791;2784:12;2748:50;2831:4;2823:6;2819:17;2807:29;;2891:3;2884:4;2874:6;2871:1;2867:14;2859:6;2855:27;2851:38;2848:47;2845:67;;;2908:1;2905;2898:12;2845:67;2531:387;;;;;:::o;2923:489::-;3041:6;3049;3102:2;3090:9;3081:7;3077:23;3073:32;3070:52;;;3118:1;3115;3108:12;3070:52;3158:9;3145:23;-1:-1:-1;;;;;3183:6:84;3180:30;3177:50;;;3223:1;3220;3213:12;3177:50;3262:90;3344:7;3335:6;3324:9;3320:22;3262:90;:::i;:::-;3371:8;;3236:116;;-1:-1:-1;2923:489:84;-1:-1:-1;;;;2923:489:84:o;3417:180::-;3476:6;3529:2;3517:9;3508:7;3504:23;3500:32;3497:52;;;3545:1;3542;3535:12;3497:52;-1:-1:-1;3568:23:84;;3417:180;-1:-1:-1;3417:180:84:o;3602:270::-;3643:3;3681:5;3675:12;3708:6;3703:3;3696:19;3724:76;3793:6;3786:4;3781:3;3777:14;3770:4;3763:5;3759:16;3724:76;:::i;:::-;3854:2;3833:15;-1:-1:-1;;3829:29:84;3820:39;;;;3861:4;3816:50;;3602:270;-1:-1:-1;;3602:270:84:o;3877:487::-;3993:1;3989;3984:3;3980:11;3976:19;3968:5;3962:12;3958:38;3953:3;3946:51;-1:-1:-1;;;;;4050:4:84;4043:5;4039:16;4033:23;4029:48;4022:4;4017:3;4013:14;4006:72;4139:10;4131:4;4124:5;4120:16;4114:23;4110:40;4103:4;4098:3;4094:14;4087:64;4200:4;4193:5;4189:16;4183:23;4176:4;4171:3;4167:14;4160:47;3928:3;4253:4;4246:5;4242:16;4236:23;4291:4;4284;4279:3;4275:14;4268:28;4312:46;4352:4;4347:3;4343:14;4329:12;4312:46;:::i;4369:263::-;4552:2;4541:9;4534:21;4515:4;4572:54;4622:2;4611:9;4607:18;4599:6;4572:54;:::i;4637:719::-;4752:1;4748;4743:3;4739:11;4735:19;4727:5;4721:12;4717:38;4712:3;4705:51;4817:8;4809:4;4802:5;4798:16;4792:23;4788:38;4781:4;4776:3;4772:14;4765:62;-1:-1:-1;;;;;4880:4:84;4873:5;4869:16;4863:23;4859:50;4852:4;4847:3;4843:14;4836:74;4687:3;4956:4;4949:5;4945:16;4939:23;4994:4;4987;4982:3;4978:14;4971:28;5020:46;5060:4;5055:3;5051:14;5037:12;5020:46;:::i;:::-;5008:58;;5115:4;5108:5;5104:16;5098:23;5091:4;5086:3;5082:14;5075:47;5170:4;5163:5;5159:16;5153:23;5235:4;5218:14;5212:21;5208:32;5201:4;5196:3;5192:14;5185:56;-1:-1:-1;;;;;5302:4:84;5286:14;5282:25;5276:32;5272:57;5266:3;5261;5257:13;5250:80;;5346:4;5339:11;;;4637:719;;;;:::o;5361:260::-;5542:2;5531:9;5524:21;5505:4;5562:53;5611:2;5600:9;5596:18;5588:6;5562:53;:::i;5626:127::-;5687:10;5682:3;5678:20;5675:1;5668:31;5718:4;5715:1;5708:15;5742:4;5739:1;5732:15;5758:145;5844:1;5837:5;5834:12;5824:46;;5850:18;;:::i;:::-;5879;;5758:145::o;5908:219::-;6060:2;6045:18;;6072:49;6049:9;6103:6;6072:49;:::i;6132:127::-;6193:10;6188:3;6184:20;6181:1;6174:31;6224:4;6221:1;6214:15;6248:4;6245:1;6238:15;6264:249;6374:2;6355:13;;-1:-1:-1;;6351:27:84;6339:40;;-1:-1:-1;;;;;6394:34:84;;6430:22;;;6391:62;6388:88;;;6456:18;;:::i;:::-;6492:2;6485:22;-1:-1:-1;;6264:249:84:o;6518:183::-;6578:4;-1:-1:-1;;;;;6603:6:84;6600:30;6597:56;;;6633:18;;:::i;:::-;-1:-1:-1;6678:1:84;6674:14;6690:4;6670:25;;6518:183::o;6706:1028::-;6790:6;6821:2;6864;6852:9;6843:7;6839:23;6835:32;6832:52;;;6880:1;6877;6870:12;6832:52;6920:9;6907:23;-1:-1:-1;;;;;6945:6:84;6942:30;6939:50;;;6985:1;6982;6975:12;6939:50;7008:22;;7061:4;7053:13;;7049:27;-1:-1:-1;7039:55:84;;7090:1;7087;7080:12;7039:55;7126:2;7113:16;7148:43;7188:2;7148:43;:::i;:::-;7220:2;7214:9;7232:31;7260:2;7252:6;7232:31;:::i;:::-;7298:18;;;7386:1;7382:10;;;;7374:19;;7370:28;;;7332:15;;;;-1:-1:-1;7410:19:84;;;7407:39;;;7442:1;7439;7432:12;7407:39;7466:11;;;;7486:217;7502:6;7497:3;7494:15;7486:217;;;7582:3;7569:17;7599:31;7624:5;7599:31;:::i;:::-;7643:18;;7519:12;;;;7681;;;;7486:217;;;7722:6;6706:1028;-1:-1:-1;;;;;;;6706:1028:84:o;7739:156::-;7800:5;7845:2;7836:6;7831:3;7827:16;7823:25;7820:45;;;7861:1;7858;7851:12;7900:309;7997:6;8005;8058:2;8046:9;8037:7;8033:23;8029:32;8026:52;;;8074:1;8071;8064:12;8026:52;8110:9;8097:23;8087:33;;8139:64;8195:7;8190:2;8179:9;8175:18;8139:64;:::i;8214:186::-;8262:4;-1:-1:-1;;;;;8287:6:84;8284:30;8281:56;;;8317:18;;:::i;:::-;-1:-1:-1;8383:2:84;8362:15;-1:-1:-1;;8358:29:84;8389:4;8354:40;;8214:186::o;8405:727::-;8473:6;8526:2;8514:9;8505:7;8501:23;8497:32;8494:52;;;8542:1;8539;8532:12;8494:52;8582:9;8569:23;-1:-1:-1;;;;;8607:6:84;8604:30;8601:50;;;8647:1;8644;8637:12;8601:50;8670:22;;8723:4;8715:13;;8711:27;-1:-1:-1;8701:55:84;;8752:1;8749;8742:12;8701:55;8788:2;8775:16;8810:31;8838:2;8810:31;:::i;:::-;8870:2;8864:9;8882:31;8910:2;8902:6;8882:31;:::i;:::-;8937:2;8929:6;8922:18;8977:7;8972:2;8967;8963;8959:11;8955:20;8952:33;8949:53;;;8998:1;8995;8988:12;8949:53;9054:2;9049;9045;9041:11;9036:2;9028:6;9024:15;9011:46;9099:1;9077:15;;;9094:2;9073:24;9066:35;;;;-1:-1:-1;9081:6:84;8405:727;-1:-1:-1;;;;8405:727:84:o;9599:800::-;9759:4;9788:2;9828;9817:9;9813:18;9858:2;9847:9;9840:21;9881:6;9916;9910:13;9947:6;9939;9932:22;9985:2;9974:9;9970:18;9963:25;;10047:2;10037:6;10034:1;10030:14;10019:9;10015:30;10011:39;9997:53;;10085:2;10077:6;10073:15;10106:1;10116:254;10130:6;10127:1;10124:13;10116:254;;;10223:2;10219:7;10207:9;10199:6;10195:22;10191:36;10186:3;10179:49;10251:39;10283:6;10274;10268:13;10251:39;:::i;:::-;10241:49;-1:-1:-1;10348:12:84;;;;10313:15;;;;10152:1;10145:9;10116:254;;;-1:-1:-1;10387:6:84;;9599:800;-1:-1:-1;;;;;;;9599:800:84:o;10794:219::-;10943:2;10932:9;10925:21;10906:4;10963:44;11003:2;10992:9;10988:18;10980:6;10963:44;:::i;11018:142::-;11101:1;11094:5;11091:12;11081:46;;11107:18;;:::i;11165:668::-;11351:2;11403:21;;;11473:13;;11376:18;;;11495:22;;;11322:4;;11351:2;11574:15;;;;11548:2;11533:18;;;11322:4;11617:190;11631:6;11628:1;11625:13;11617:190;;;11680:47;11723:3;11714:6;11708:13;11680:47;:::i;:::-;11782:15;;;;11747:12;;;;11653:1;11646:9;11617:190;;;-1:-1:-1;11824:3:84;;11165:668;-1:-1:-1;;;;;;11165:668:84:o;11838:347::-;11889:8;11899:6;11953:3;11946:4;11938:6;11934:17;11930:27;11920:55;;11971:1;11968;11961:12;11920:55;-1:-1:-1;11994:20:84;;-1:-1:-1;;;;;12026:30:84;;12023:50;;;12069:1;12066;12059:12;12023:50;12106:4;12098:6;12094:17;12082:29;;12158:3;12151:4;12142:6;12134;12130:19;12126:30;12123:39;12120:59;;;12175:1;12172;12165:12;12190:545;12278:6;12286;12294;12302;12355:2;12343:9;12334:7;12330:23;12326:32;12323:52;;;12371:1;12368;12361:12;12323:52;12407:9;12394:23;12384:33;;12464:2;12453:9;12449:18;12436:32;12426:42;;12519:2;12508:9;12504:18;12491:32;-1:-1:-1;;;;;12538:6:84;12535:30;12532:50;;;12578:1;12575;12568:12;12532:50;12617:58;12667:7;12658:6;12647:9;12643:22;12617:58;:::i;:::-;12190:545;;;;-1:-1:-1;12694:8:84;-1:-1:-1;;;;12190:545:84:o;12740:213::-;12889:2;12874:18;;12901:46;12878:9;12929:6;12901:46;:::i;13403:117::-;13488:6;13481:5;13477:18;13470:5;13467:29;13457:57;;13510:1;13507;13500:12;13525:313;13592:6;13600;13653:2;13641:9;13632:7;13628:23;13624:32;13621:52;;;13669:1;13666;13659:12;13621:52;13705:9;13692:23;13682:33;;13765:2;13754:9;13750:18;13737:32;13778:30;13802:5;13778:30;:::i;:::-;13827:5;13817:15;;;13525:313;;;;;:::o;14065:902::-;14189:6;14197;14205;14213;14221;14229;14282:3;14270:9;14261:7;14257:23;14253:33;14250:53;;;14299:1;14296;14289:12;14250:53;14339:9;14326:23;-1:-1:-1;;;;;14409:2:84;14401:6;14398:14;14395:34;;;14425:1;14422;14415:12;14395:34;14464:90;14546:7;14537:6;14526:9;14522:22;14464:90;:::i;:::-;14573:8;;-1:-1:-1;14438:116:84;-1:-1:-1;14661:2:84;14646:18;;14633:32;;-1:-1:-1;14677:16:84;;;14674:36;;;14706:1;14703;14696:12;14674:36;;14745:60;14797:7;14786:8;14775:9;14771:24;14745:60;:::i;:::-;14065:902;;;;-1:-1:-1;14824:8:84;14906:2;14891:18;;14878:32;;14957:2;14942:18;;;14929:32;;-1:-1:-1;14065:902:84;-1:-1:-1;;;;14065:902:84:o;15225:248::-;15293:6;15301;15354:2;15342:9;15333:7;15329:23;15325:32;15322:52;;;15370:1;15367;15360:12;15322:52;-1:-1:-1;;15393:23:84;;;15463:2;15448:18;;;15435:32;;-1:-1:-1;15225:248:84:o;15478:611::-;15594:6;15602;15610;15618;15671:3;15659:9;15650:7;15646:23;15642:33;15639:53;;;15688:1;15685;15678:12;15639:53;15728:9;15715:23;-1:-1:-1;;;;;15753:6:84;15750:30;15747:50;;;15793:1;15790;15783:12;15747:50;15832:58;15882:7;15873:6;15862:9;15858:22;15832:58;:::i;:::-;15909:8;;-1:-1:-1;15806:84:84;-1:-1:-1;15963:64:84;;-1:-1:-1;16019:7:84;16014:2;15999:18;;15963:64;:::i;:::-;15953:74;;16046:37;16079:2;16068:9;16064:18;16046:37;:::i;:::-;16036:47;;15478:611;;;;;;;:::o;16094:149::-;16182:3;16175:5;16172:14;16162:48;;16190:18;;:::i;16248:435::-;16437:2;16426:9;16419:21;16449:67;16512:2;16501:9;16497:18;16488:6;16482:13;16449:67;:::i;:::-;16400:4;16563:2;16555:6;16551:15;16545:22;16605:4;16598;16587:9;16583:20;16576:34;16627:50;16673:2;16662:9;16658:18;16644:12;16627:50;:::i;16688:546::-;16865:2;16854:9;16847:21;16828:4;16903:6;16897:13;16946:4;16941:2;16930:9;16926:18;16919:32;16974:59;17029:2;17018:9;17014:18;17000:12;16974:59;:::i;:::-;16960:73;;17082:2;17074:6;17070:15;17064:22;17156:2;17152:7;17140:9;17132:6;17128:22;17124:36;17117:4;17106:9;17102:20;17095:66;17178:50;17221:6;17205:14;17178:50;:::i;17239:163::-;17306:20;;17366:10;17355:22;;17345:33;;17335:61;;17392:1;17389;17382:12;17407:618;17503:6;17511;17519;17527;17535;17588:3;17576:9;17567:7;17563:23;17559:33;17556:53;;;17605:1;17602;17595:12;17556:53;17641:9;17628:23;17618:33;;17670:37;17703:2;17692:9;17688:18;17670:37;:::i;:::-;17660:47;;17754:2;17743:9;17739:18;17726:32;17716:42;;17809:2;17798:9;17794:18;17781:32;-1:-1:-1;;;;;17828:6:84;17825:30;17822:50;;;17868:1;17865;17858:12;17822:50;17907:58;17957:7;17948:6;17937:9;17933:22;17907:58;:::i;:::-;17407:618;;;;-1:-1:-1;17407:618:84;;-1:-1:-1;17984:8:84;;17881:84;17407:618;-1:-1:-1;;;17407:618:84:o;18488:382::-;18593:6;18601;18609;18662:3;18650:9;18641:7;18637:23;18633:33;18630:53;;;18679:1;18676;18669:12;18630:53;18715:9;18702:23;18692:33;;18744:64;18800:7;18795:2;18784:9;18780:18;18744:64;:::i;:::-;18734:74;;18827:37;18860:2;18849:9;18845:18;18827:37;:::i;:::-;18817:47;;18488:382;;;;;:::o;18875:641::-;19155:3;19193:6;19187:13;19209:66;19268:6;19263:3;19256:4;19248:6;19244:17;19209:66;:::i;:::-;-1:-1:-1;;;19297:16:84;;;19322:19;;;19366:13;;19388:78;19366:13;19453:1;19442:13;;19435:4;19423:17;;19388:78;:::i;:::-;19486:20;19508:1;19482:28;;18875:641;-1:-1:-1;;;;18875:641:84:o;19521:127::-;19582:10;19577:3;19573:20;19570:1;19563:31;19613:4;19610:1;19603:15;19637:4;19634:1;19627:15;19653:127;19714:10;19709:3;19705:20;19702:1;19695:31;19745:4;19742:1;19735:15;19769:4;19766:1;19759:15;19785:165;19823:1;19857:4;19854:1;19850:12;19881:3;19871:37;;19888:18;;:::i;:::-;19940:3;19933:4;19930:1;19926:12;19922:22;19917:27;;;19785:165;;;;:::o;19955:148::-;20043:4;20022:12;;;20036;;;20018:31;;20061:13;;20058:39;;;20077:18;;:::i;20108:157::-;20138:1;20172:4;20169:1;20165:12;20196:3;20186:37;;20203:18;;:::i;:::-;20255:3;20248:4;20245:1;20241:12;20237:22;20232:27;;;20108:157;;;;:::o;20270:127::-;20331:10;20326:3;20322:20;20319:1;20312:31;20362:4;20359:1;20352:15;20386:4;20383:1;20376:15;20402:168;20475:9;;;20506;;20523:15;;;20517:22;;20503:37;20493:71;;20544:18;;:::i;20575:125::-;20640:9;;;20661:10;;;20658:36;;;20674:18;;:::i;20705:330::-;20803:4;20861:11;20848:25;20955:3;20951:8;20940;20924:14;20920:29;20916:44;20896:18;20892:69;20882:97;;20975:1;20972;20965:12;20882:97;20996:33;;;;;20705:330;-1:-1:-1;;20705:330:84:o;21266:489::-;21320:5;21373:3;21366:4;21358:6;21354:17;21350:27;21340:55;;21391:1;21388;21381:12;21340:55;21420:6;21414:13;21446:31;21474:2;21446:31;:::i;:::-;21506:2;21500:9;21518:31;21546:2;21538:6;21518:31;:::i;:::-;21573:2;21565:6;21558:18;21619:3;21612:4;21607:2;21599:6;21595:15;21591:26;21588:35;21585:55;;;21636:1;21633;21626:12;21585:55;21649:76;21722:2;21715:4;21707:6;21703:17;21696:4;21688:6;21684:17;21649:76;:::i;21760:337::-;21840:6;21893:2;21881:9;21872:7;21868:23;21864:32;21861:52;;;21909:1;21906;21899:12;21861:52;21942:9;21936:16;-1:-1:-1;;;;;21967:6:84;21964:30;21961:50;;;22007:1;22004;21997:12;21961:50;22030:61;22083:7;22074:6;22063:9;22059:22;22030:61;:::i;22102:290::-;22279:6;22268:9;22261:25;22322:2;22317;22306:9;22302:18;22295:30;22242:4;22342:44;22382:2;22371:9;22367:18;22359:6;22342:44;:::i;22397:184::-;22455:6;22508:2;22496:9;22487:7;22483:23;22479:32;22476:52;;;22524:1;22521;22514:12;22476:52;22547:28;22565:9;22547:28;:::i;22586:521::-;22663:4;22669:6;22729:11;22716:25;22823:2;22819:7;22808:8;22792:14;22788:29;22784:43;22764:18;22760:68;22750:96;;22842:1;22839;22832:12;22750:96;22869:33;;22921:20;;;-1:-1:-1;;;;;;22953:30:84;;22950:50;;;22996:1;22993;22986:12;22950:50;23029:4;23017:17;;-1:-1:-1;23060:14:84;23056:27;;;23046:38;;23043:58;;;23097:1;23094;23087:12;23112:473;23344:3;23382:6;23376:13;23398:66;23457:6;23452:3;23445:4;23437:6;23433:17;23398:66;:::i;:::-;-1:-1:-1;;;23486:16:84;;23511:38;;;-1:-1:-1;23576:2:84;23565:14;;23112:473;-1:-1:-1;23112:473:84:o;23590:380::-;23669:1;23665:12;;;;23712;;;23733:61;;23787:4;23779:6;23775:17;23765:27;;23733:61;23840:2;23832:6;23829:14;23809:18;23806:38;23803:161;;23886:10;23881:3;23877:20;23874:1;23867:31;23921:4;23918:1;23911:15;23949:4;23946:1;23939:15;23975:658;24146:2;24198:21;;;24268:13;;24171:18;;;24290:22;;;24117:4;;24146:2;24369:15;;;;24343:2;24328:18;;;24117:4;24412:195;24426:6;24423:1;24420:13;24412:195;;;24491:13;;-1:-1:-1;;;;;24487:39:84;24475:52;;24582:15;;;;24547:12;;;;24523:1;24441:9;24412:195;;24638:114;24722:4;24715:5;24711:16;24704:5;24701:27;24691:55;;24742:1;24739;24732:12;24757:129;-1:-1:-1;;;;;24835:5:84;24831:30;24824:5;24821:41;24811:69;;24876:1;24873;24866:12;24891:629;25150:25;;;25206:2;25191:18;;25184:34;;;25137:3;25122:19;;25240:20;;25269:29;25240:20;25269:29;:::i;:::-;25345:4;25334:16;25329:2;25314:18;;25307:44;25400:2;25388:15;;25375:29;25413:32;25375:29;25413:32;:::i;:::-;-1:-1:-1;;;;;25485:7:84;25481:32;25476:2;25465:9;25461:18;25454:60;;24891:629;;;;;;:::o;25525:472::-;25621:6;25629;25682:2;25670:9;25661:7;25657:23;25653:32;25650:52;;;25698:1;25695;25688:12;25650:52;25730:9;25724:16;25749:31;25774:5;25749:31;:::i;:::-;25848:2;25833:18;;25827:25;25799:5;;-1:-1:-1;;;;;;25864:30:84;;25861:50;;;25907:1;25904;25897:12;25861:50;25930:61;25983:7;25974:6;25963:9;25959:22;25930:61;:::i;:::-;25920:71;;;25525:472;;;;;:::o;26002:1018::-;26097:6;26128:2;26171;26159:9;26150:7;26146:23;26142:32;26139:52;;;26187:1;26184;26177:12;26139:52;26220:9;26214:16;-1:-1:-1;;;;;26245:6:84;26242:30;26239:50;;;26285:1;26282;26275:12;26239:50;26308:22;;26361:4;26353:13;;26349:27;-1:-1:-1;26339:55:84;;26390:1;26387;26380:12;26339:55;26419:2;26413:9;26441:43;26481:2;26441:43;:::i;:::-;26513:2;26507:9;26525:31;26553:2;26545:6;26525:31;:::i;:::-;26591:18;;;26679:1;26675:10;;;;26667:19;;26663:28;;;26625:15;;;;-1:-1:-1;26703:19:84;;;26700:39;;;26735:1;26732;26725:12;26700:39;26759:11;;;;26779:210;26795:6;26790:3;26787:15;26779:210;;;26868:3;26862:10;26885:31;26910:5;26885:31;:::i;:::-;26929:18;;26812:12;;;;26967;;;;26779:210;;27025:290;27094:6;27147:2;27135:9;27126:7;27122:23;27118:32;27115:52;;;27163:1;27160;27153:12;27115:52;27189:16;;-1:-1:-1;;;;;;27234:32:84;;27224:43;;27214:71;;27281:1;27278;27271:12;27320:271;27410:6;27463:2;27451:9;27442:7;27438:23;27434:32;27431:52;;;27479:1;27476;27469:12;27431:52;27511:9;27505:16;27530:31;27555:5;27530:31;:::i;27882:578::-;-1:-1:-1;;;;;28137:32:84;;28119:51;;28206:2;28201;28186:18;;28179:30;;;28225:18;;28218:34;;;-1:-1:-1;;;;;;28264:31:84;;28261:51;;;28308:1;28305;28298:12;28261:51;28342:6;28339:1;28335:14;28399:6;28391;28386:2;28375:9;28371:18;28358:48;28427:22;;;;28451:2;28423:31;;27882:578;-1:-1:-1;;;;27882:578:84:o;28465:1195::-;28569:6;28600:2;28643;28631:9;28622:7;28618:23;28614:32;28611:52;;;28659:1;28656;28649:12;28611:52;28692:9;28686:16;-1:-1:-1;;;;;28762:2:84;28754:6;28751:14;28748:34;;;28778:1;28775;28768:12;28748:34;28816:6;28805:9;28801:22;28791:32;;28861:7;28854:4;28850:2;28846:13;28842:27;28832:55;;28883:1;28880;28873:12;28832:55;28912:2;28906:9;28934:43;28974:2;28934:43;:::i;:::-;29006:2;29000:9;29018:31;29046:2;29038:6;29018:31;:::i;:::-;29084:18;;;29172:1;29168:10;;;;29160:19;;29156:28;;;29118:15;;;;-1:-1:-1;29196:19:84;;;29193:39;;;29228:1;29225;29218:12;29193:39;29260:2;29256;29252:11;29272:357;29288:6;29283:3;29280:15;29272:357;;;29367:3;29361:10;29403:2;29390:11;29387:19;29384:109;;;29447:1;29476:2;29472;29465:14;29384:109;29518:68;29578:7;29573:2;29559:11;29555:2;29551:20;29547:29;29518:68;:::i;:::-;29506:81;;-1:-1:-1;29607:12:84;;;;29305;;29272:357;;;-1:-1:-1;29648:6:84;28465:1195;-1:-1:-1;;;;;;;;28465:1195:84:o;30354:171::-;30422:6;30461:10;;;30449;;;30445:27;;30484:12;;;30481:38;;;30499:18;;:::i;30530:187::-;30569:1;30595:6;30628:2;30625:1;30621:10;30650:3;30640:37;;30657:18;;:::i;:::-;30695:10;;30691:20;;;;;30530:187;-1:-1:-1;;30530:187:84:o;30722:168::-;30789:6;30815:10;;;30827;;;30811:27;;30850:11;;;30847:37;;;30864:18;;:::i;30895:249::-;30964:6;31017:2;31005:9;30996:7;30992:23;30988:32;30985:52;;;31033:1;31030;31023:12;30985:52;31065:9;31059:16;31084:30;31108:5;31084:30;:::i;31149:277::-;31216:6;31269:2;31257:9;31248:7;31244:23;31240:32;31237:52;;;31285:1;31282;31275:12;31237:52;31317:9;31311:16;31370:5;31363:13;31356:21;31349:5;31346:32;31336:60;;31392:1;31389;31382:12;31556:542;31657:2;31652:3;31649:11;31646:446;;;31693:1;31717:5;31714:1;31707:16;31761:4;31758:1;31748:18;31831:2;31819:10;31815:19;31812:1;31808:27;31802:4;31798:38;31867:4;31855:10;31852:20;31849:47;;;-1:-1:-1;31890:4:84;31849:47;31945:2;31940:3;31936:12;31933:1;31929:20;31923:4;31919:31;31909:41;;32000:82;32018:2;32011:5;32008:13;32000:82;;;32063:17;;;32044:1;32033:13;32000:82;;;32004:3;;;31556:542;;;:::o;32274:1202::-;-1:-1:-1;;;;;32391:3:84;32388:27;32385:53;;;32418:18;;:::i;:::-;32447:93;32536:3;32496:38;32528:4;32522:11;32496:38;:::i;:::-;32490:4;32447:93;:::i;:::-;32566:1;32591:2;32586:3;32583:11;32608:1;32603:615;;;;33262:1;33279:3;33276:93;;;-1:-1:-1;33335:19:84;;;33322:33;33276:93;-1:-1:-1;;32231:1:84;32227:11;;;32223:24;32219:29;32209:40;32255:1;32251:11;;;32206:57;33382:78;;32576:894;;32603:615;31503:1;31496:14;;;31540:4;31527:18;;-1:-1:-1;;32639:17:84;;;32739:9;32761:229;32775:7;32772:1;32769:14;32761:229;;;32864:19;;;32851:33;32836:49;;32971:4;32956:20;;;;32924:1;32912:14;;;;32791:12;32761:229;;;32765:3;33018;33009:7;33006:16;33003:159;;;33142:1;33138:6;33132:3;33126;33123:1;33119:11;33115:21;33111:34;33107:39;33094:9;33089:3;33085:19;33072:33;33068:79;33060:6;33053:95;33003:159;;;33205:1;33199:3;33196:1;33192:11;33188:19;33182:4;33175:33;32576:894;;;32274:1202;;;:::o;33481:1081::-;33661:49;33700:9;33692:6;33661:49;:::i;:::-;33642:4;33729:2;33767;33762;33751:9;33747:18;33740:30;33790:1;33823:6;33817:13;33853:36;33879:9;33853:36;:::i;:::-;33925:6;33920:2;33909:9;33905:18;33898:34;33951:2;33972:1;34004;33993:9;33989:17;34020:1;34015:158;;;;34187:1;34182:354;;;;33982:554;;34015:158;34082:3;34078:8;34067:9;34063:24;34058:2;34047:9;34043:18;34036:52;34160:2;34148:6;34141:14;34134:22;34131:1;34127:30;34116:9;34112:46;34108:55;34101:62;;34015:158;;34182:354;34213:6;34210:1;34203:17;34261:2;34258:1;34248:16;34286:1;34300:180;34314:6;34311:1;34308:13;34300:180;;;34407:14;;34383:17;;;34379:26;;34372:50;34450:16;;;;34329:10;;34300:180;;;34504:17;;34523:2;34500:26;;-1:-1:-1;;33982:554:84;-1:-1:-1;34553:3:84;;33481:1081;-1:-1:-1;;;;;;;;;33481:1081:84:o;34567:902::-;34667:6;34720:2;34708:9;34699:7;34695:23;34691:32;34688:52;;;34736:1;34733;34726:12;34688:52;34769:9;34763:16;-1:-1:-1;;;;;34839:2:84;34831:6;34828:14;34825:34;;;34855:1;34852;34845:12;34825:34;34878:22;;;;34934:4;34916:16;;;34912:27;34909:47;;;34952:1;34949;34942:12;34909:47;34985:4;34979:11;35029:4;35021:6;35017:17;35084:6;35072:10;35069:22;35064:2;35052:10;35049:18;35046:46;35043:72;;;35095:18;;:::i;:::-;35131:4;35124:24;35170:9;;35208:3;35198:14;;35188:42;;35226:1;35223;35216:12;35188:42;35239:21;;35299:2;35291:11;;35285:18;35315:16;;;35312:36;;;35344:1;35341;35334:12;35312:36;35381:56;35429:7;35418:8;35414:2;35410:17;35381:56;:::i;:::-;35376:2;35364:15;;35357:81;-1:-1:-1;35368:6:84;34567:902;-1:-1:-1;;;;;34567:902:84:o;35474:179::-;35509:3;35551:1;35533:16;35530:23;35527:120;;;35597:1;35594;35591;35576:23;-1:-1:-1;35634:1:84;35628:8;35623:3;35619:18;35527:120;35474:179;:::o;35658:671::-;35697:3;35739:4;35721:16;35718:26;35715:39;;;35658:671;:::o;35715:39::-;35781:2;35775:9;-1:-1:-1;;35846:16:84;35842:25;;35839:1;35775:9;35818:50;35897:4;35891:11;35921:16;-1:-1:-1;;;;;36027:2:84;36020:4;36012:6;36008:17;36005:25;36000:2;35992:6;35989:14;35986:45;35983:58;;;36034:5;;;;;35658:671;:::o;35983:58::-;36071:6;36065:4;36061:17;36050:28;;36107:3;36101:10;36134:2;36126:6;36123:14;36120:27;;;36140:5;;;;;;35658:671;:::o;36120:27::-;36224:2;36205:16;36199:4;36195:27;36191:36;36184:4;36175:6;36170:3;36166:16;36162:27;36159:69;36156:82;;;36231:5;;;;;;35658:671;:::o;36156:82::-;36247:57;36298:4;36289:6;36281;36277:19;36273:30;36267:4;36247:57;:::i;:::-;-1:-1:-1;36320:3:84;;35658:671;-1:-1:-1;;;;;35658:671:84:o;36334:449::-;-1:-1:-1;;;36591:3:84;36584:32;36566:3;36645:6;36639:13;36661:75;36729:6;36724:2;36719:3;36715:12;36708:4;36700:6;36696:17;36661:75;:::i;:::-;36756:16;;;;36774:2;36752:25;;36334:449;-1:-1:-1;;36334:449:84:o;36788:182::-;-1:-1:-1;;;;;36895:10:84;;;36907;;;36891:27;;36930:11;;;36927:37;;;36944:18;;:::i;37578:767::-;37867:6;37856:9;37849:25;37910:3;37905:2;37894:9;37890:18;37883:31;37951:6;37945:3;37934:9;37930:19;37923:35;38009:6;38001;37995:3;37984:9;37980:19;37967:49;38066:1;38060:3;38051:6;38040:9;38036:22;38032:32;38025:43;37830:4;38127:2;38123:7;38118:2;38110:6;38106:15;38102:29;38091:9;38087:45;38168:6;38163:2;38152:9;38148:18;38141:34;38211:6;38206:2;38195:9;38191:18;38184:34;38279:3;38267:9;38263:2;38259:18;38255:28;38249:3;38238:9;38234:19;38227:57;38301:38;38334:3;38330:2;38326:12;38318:6;38301:38;:::i;:::-;38293:46;37578:767;-1:-1:-1;;;;;;;;;37578:767:84:o;38350:245::-;38408:6;38461:2;38449:9;38440:7;38436:23;38432:32;38429:52;;;38477:1;38474;38467:12;38429:52;38516:9;38503:23;38535:30;38559:5;38535:30;:::i;38600:243::-;38657:6;38710:2;38698:9;38689:7;38685:23;38681:32;38678:52;;;38726:1;38723;38716:12;38678:52;38765:9;38752:23;38784:29;38807:5;38784:29;:::i;38848:135::-;38887:3;38908:17;;;38905:43;;38928:18;;:::i;:::-;-1:-1:-1;38975:1:84;38964:13;;38848:135::o;38988:542::-;39157:5;39144:19;39172:31;39195:7;39172:31;:::i;:::-;39235:4;39226:7;39222:18;39212:28;;39265:4;39259:11;39314:2;39307:3;39303:8;39299:2;39295:17;39292:25;39286:4;39279:39;39366:2;39359:5;39355:14;39342:28;39379:32;39403:7;39379:32;:::i;:::-;39501:20;39491:7;39488:1;39484:15;39480:42;39475:2;-1:-1:-1;;;;;39447:25:84;39443:2;39439:34;39436:42;39433:90;39427:4;39420:104;;;;38988:542;;:::o;39535:257::-;-1:-1:-1;;;;;39656:10:84;;;39668;;;39652:27;39699:20;;;;39606:18;39738:24;;;39728:58;;39766:18;;:::i;:::-;39728:58;;39535:257;;;;:::o;39797:779::-;39844:3;39888:5;39882:12;39915:4;39910:3;39903:17;39957:12;39951:19;40002:4;39995;39990:3;39986:14;39979:28;40028:47;40070:3;40065;40061:13;40045:14;40028:47;:::i;:::-;40016:59;;40130:4;40116:12;40112:23;40106:30;40100:3;40095;40091:13;40084:53;40198:4;40190;40183:5;40179:16;40173:23;40169:34;40162:4;40157:3;40153:14;40146:58;40265:4;40257;40250:5;40246:16;40240:23;40236:34;40229:4;40224:3;40220:14;40213:58;40332:4;40324;40317:5;40313:16;40307:23;40303:34;40296:4;40291:3;40287:14;40280:58;40386:4;40379:5;40375:16;40369:23;40347:45;;-1:-1:-1;;;;;40481:2:84;40465:14;40461:23;40454:4;40449:3;40445:14;40438:47;40546:2;40538:4;40531:5;40527:16;40521:23;40517:32;40510:4;40505:3;40501:14;40494:56;;40566:4;40559:11;;;;39797:779;;;;:::o;40581:679::-;40914:6;40903:9;40896:25;-1:-1:-1;;;;;40961:6:84;40957:31;40952:2;40941:9;40937:18;40930:59;41025:6;41020:2;41009:9;41005:18;40998:34;41068:6;41063:2;41052:9;41048:18;41041:34;41084:61;41140:3;41129:9;41125:19;41117:6;41084:61;:::i;:::-;41182:3;41176;41165:9;41161:19;41154:32;40877:4;41203:51;41249:3;41238:9;41234:19;41226:6;41203:51;:::i;:::-;41195:59;40581:679;-1:-1:-1;;;;;;;;40581:679:84:o;41265:561::-;41550:6;41539:9;41532:25;-1:-1:-1;;;;;41597:6:84;41593:31;41588:2;41577:9;41573:18;41566:59;41661:6;41656:2;41645:9;41641:18;41634:34;41704:6;41699:2;41688:9;41684:18;41677:34;41748:3;41742;41731:9;41727:19;41720:32;41513:4;41769:51;41815:3;41804:9;41800:19;41792:6;41769:51;:::i;41831:128::-;41898:9;;;41919:11;;;41916:37;;;41933:18;;:::i;41964:1341::-;42088:3;42082:10;-1:-1:-1;;;;;42107:6:84;42104:30;42101:56;;;42137:18;;:::i;:::-;42166:96;42255:6;42215:38;42247:4;42241:11;42215:38;:::i;:::-;42209:4;42166:96;:::i;:::-;42317:4;;42374:2;42363:14;;42391:1;42386:662;;;;43092:1;43109:6;43106:89;;;-1:-1:-1;43161:19:84;;;43155:26;43106:89;-1:-1:-1;;32231:1:84;32227:11;;;32223:24;32219:29;32209:40;32255:1;32251:11;;;32206:57;43208:81;;42356:943;;42386:662;31503:1;31496:14;;;31540:4;31527:18;;-1:-1:-1;;42422:20:84;;;42539:236;42553:7;42550:1;42547:14;42539:236;;;42642:19;;;42636:26;42621:42;;42734:27;;;;42702:1;42690:14;;;;42569:19;;42539:236;;;42543:3;42803:6;42794:7;42791:19;42788:201;;;42864:19;;;42858:26;-1:-1:-1;;42947:1:84;42943:14;;;42959:3;42939:24;42935:37;42931:42;42916:58;42901:74;;42788:201;-1:-1:-1;;;;;43035:1:84;43019:14;;;43015:22;43002:36;;-1:-1:-1;41964:1341:84:o;43581:180::-;-1:-1:-1;;;;;43686:10:84;;;43698;;;43682:27;;43721:11;;;43718:37;;;43735:18;;:::i;43957:112::-;43989:1;44015;44005:35;;44020:18;;:::i;:::-;-1:-1:-1;44054:9:84;;43957:112::o;44482:151::-;44572:4;44565:12;;;44551;;;44547:31;;44590:14;;44587:40;;;44607:18;;:::i",
  "source": "// SPDX-License-Identifier: MIT\r\n\r\n/* solhint-disable var-name-mixedcase */\r\n\r\npragma solidity >=0.7.0 <0.9.0;\r\npragma experimental ABIEncoderV2;\r\n\r\nimport \"./WitnetOracleTrustableBase.sol\";\r\n\r\n/// @title Witnet Request Board \"trustable\" implementation contract.\r\n/// @notice Contract to bridge requests to Witnet Decentralized Oracle Network.\r\n/// @dev This contract enables posting requests that Witnet bridges will insert into the Witnet network.\r\n/// The result of the requests will be posted back to this contract by the bridge nodes too.\r\n/// @author The Witnet Foundation\r\ncontract WitnetOracleTrustableDefault\r\n    is \r\n        WitnetOracleTrustableBase\r\n{\r\n    function class() virtual override public view returns (string memory) {\r\n        return type(WitnetOracleTrustableDefault).name;\r\n    }\r\n\r\n    uint256 internal immutable __reportResultGasBase;\r\n    uint256 internal immutable __reportResultWithCallbackGasBase;\r\n    uint256 internal immutable __reportResultWithCallbackRevertGasBase;\r\n    uint256 internal immutable __sstoreFromZeroGas;\r\n\r\n    constructor(\r\n            WitnetRequestFactory _factory,\r\n            WitnetRequestBytecodes _registry,\r\n            bool _upgradable,\r\n            bytes32 _versionTag,\r\n            uint256 _reportResultGasBase,\r\n            uint256 _reportResultWithCallbackGasBase,\r\n            uint256 _reportResultWithCallbackRevertGasBase,\r\n            uint256 _sstoreFromZeroGas\r\n        )\r\n        WitnetOracleTrustableBase(\r\n            _factory, \r\n            _registry,\r\n            _upgradable, \r\n            _versionTag, \r\n            address(0)\r\n        )\r\n    {   \r\n        __reportResultGasBase = _reportResultGasBase;\r\n        __reportResultWithCallbackGasBase = _reportResultWithCallbackGasBase;\r\n        __reportResultWithCallbackRevertGasBase = _reportResultWithCallbackRevertGasBase;\r\n        __sstoreFromZeroGas = _sstoreFromZeroGas;\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Overrides 'IWitnetOracle' ----------------------------------------------------------------------------\r\n\r\n    /// @notice Estimate the minimum reward required for posting a data request.\r\n    /// @dev Underestimates if the size of returned data is greater than `_resultMaxSize`. \r\n    /// @param _gasPrice Expected gas price to pay upon posting the data request.\r\n    /// @param _resultMaxSize Maximum expected size of returned data (in bytes).\r\n    function estimateBaseFee(uint256 _gasPrice, uint16 _resultMaxSize)\r\n        public view\r\n        virtual override\r\n        returns (uint256)\r\n    {\r\n        return _gasPrice * (\r\n            __reportResultGasBase\r\n                + __sstoreFromZeroGas * (\r\n                    4 + (_resultMaxSize == 0 ? 0 : _resultMaxSize - 1) / 32\r\n                )\r\n        );\r\n    }\r\n\r\n    /// @notice Estimate the minimum reward required for posting a data request with a callback.\r\n    /// @param _gasPrice Expected gas price to pay upon posting the data request.\r\n    /// @param _callbackGasLimit Maximum gas to be spent when reporting the data request result.\r\n    function estimateBaseFeeWithCallback(uint256 _gasPrice, uint24 _callbackGasLimit)\r\n        public view\r\n        virtual override\r\n        returns (uint256)\r\n    {\r\n        uint _reportResultWithCallbackGasThreshold = (\r\n            __reportResultWithCallbackRevertGasBase\r\n                + 3 * __sstoreFromZeroGas\r\n        );\r\n        if (\r\n            _callbackGasLimit < _reportResultWithCallbackGasThreshold\r\n                || __reportResultWithCallbackGasBase + _callbackGasLimit < _reportResultWithCallbackGasThreshold\r\n        ) {\r\n            return (\r\n                _gasPrice\r\n                    * _reportResultWithCallbackGasThreshold\r\n            );\r\n        } else {\r\n            return (\r\n                _gasPrice \r\n                    * (\r\n                        __reportResultWithCallbackGasBase\r\n                            + _callbackGasLimit\r\n                    )\r\n            );\r\n        }\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Overrides 'Payable' ----------------------------------------------------------------------------------------\r\n\r\n    /// Gets current transaction price.\r\n    function _getGasPrice()\r\n        internal view\r\n        virtual override\r\n        returns (uint256)\r\n    {\r\n        return tx.gasprice;\r\n    }\r\n\r\n    /// Gets current payment value.\r\n    function _getMsgValue()\r\n        internal view\r\n        virtual override\r\n        returns (uint256)\r\n    {\r\n        return msg.value;\r\n    }\r\n\r\n    /// Transfers ETHs to given address.\r\n    /// @param _to Recipient address.\r\n    /// @param _amount Amount of ETHs to transfer.\r\n    function __safeTransferTo(address payable _to, uint256 _amount)\r\n        internal\r\n        virtual override\r\n    {\r\n        payable(_to).transfer(_amount);\r\n    }   \r\n}\r\n",
  "sourcePath": "C:\\Users\\guill\\github\\witnet\\witnet-solidity-bridge\\contracts\\core\\defaults\\WitnetOracleTrustableDefault.sol",
  "ast": {
    "absolutePath": "project:/contracts/core/defaults/WitnetOracleTrustableDefault.sol",
    "exportedSymbols": {
      "Context": [
        509
      ],
      "ERC165": [
        602
      ],
      "IERC165": [
        614
      ],
      "IERC20": [
        479
      ],
      "IWitnetConsumer": [
        12829
      ],
      "IWitnetOracle": [
        13265
      ],
      "IWitnetOracleEvents": [
        13315
      ],
      "IWitnetOracleReporter": [
        13398
      ],
      "IWitnetRequestBoardAdminACLs": [
        13758
      ],
      "IWitnetRequestBytecodes": [
        13979
      ],
      "IWitnetRequestFactory": [
        14002
      ],
      "Initializable": [
        253
      ],
      "Ownable": [
        401
      ],
      "Ownable2Step": [
        24094
      ],
      "Payable": [
        24145
      ],
      "Proxiable": [
        24189
      ],
      "ReentrancyGuard": [
        578
      ],
      "Upgradeable": [
        24304
      ],
      "Witnet": [
        17557
      ],
      "WitnetBuffer": [
        19191
      ],
      "WitnetCBOR": [
        20734
      ],
      "WitnetErrorsLib": [
        23206
      ],
      "WitnetOracle": [
        749
      ],
      "WitnetOracleDataLib": [
        12396
      ],
      "WitnetOracleTrustableBase": [
        6817
      ],
      "WitnetOracleTrustableDefault": [
        7013
      ],
      "WitnetProxy": [
        3700
      ],
      "WitnetRequestBytecodes": [
        849
      ],
      "WitnetRequestFactory": [
        880
      ],
      "WitnetUpgradableBase": [
        3887
      ],
      "WitnetV2": [
        23640
      ]
    },
    "id": 7014,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 6819,
        "literals": [
          "solidity",
          ">=",
          "0.7",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "79:31:37"
      },
      {
        "id": 6820,
        "literals": [
          "experimental",
          "ABIEncoderV2"
        ],
        "nodeType": "PragmaDirective",
        "src": "112:33:37"
      },
      {
        "absolutePath": "project:/contracts/core/defaults/WitnetOracleTrustableBase.sol",
        "file": "./WitnetOracleTrustableBase.sol",
        "id": 6821,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 7014,
        "sourceUnit": 6818,
        "src": "149:41:37",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 6823,
              "name": "WitnetOracleTrustableBase",
              "nameLocations": [
                "636:25:37"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 6817,
              "src": "636:25:37"
            },
            "id": 6824,
            "nodeType": "InheritanceSpecifier",
            "src": "636:25:37"
          }
        ],
        "canonicalName": "WitnetOracleTrustableDefault",
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": {
          "id": 6822,
          "nodeType": "StructuredDocumentation",
          "src": "194:386:37",
          "text": "@title Witnet Request Board \"trustable\" implementation contract.\n @notice Contract to bridge requests to Witnet Decentralized Oracle Network.\n @dev This contract enables posting requests that Witnet bridges will insert into the Witnet network.\n The result of the requests will be posted back to this contract by the bridge nodes too.\n @author The Witnet Foundation"
        },
        "fullyImplemented": true,
        "id": 7013,
        "linearizedBaseContracts": [
          7013,
          6817,
          24145,
          13758,
          13398,
          749,
          13315,
          13265,
          3887,
          578,
          24304,
          24189,
          253,
          24094,
          401,
          509
        ],
        "name": "WitnetOracleTrustableDefault",
        "nameLocation": "589:28:37",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "baseFunctions": [
              5176
            ],
            "body": {
              "id": 6835,
              "nodeType": "Block",
              "src": "740:65:37",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 6831,
                          "name": "WitnetOracleTrustableDefault",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7013,
                          "src": "763:28:37",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitnetOracleTrustableDefault_$7013_$",
                            "typeString": "type(contract WitnetOracleTrustableDefault)"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_type$_t_contract$_WitnetOracleTrustableDefault_$7013_$",
                            "typeString": "type(contract WitnetOracleTrustableDefault)"
                          }
                        ],
                        "id": 6830,
                        "name": "type",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967269,
                        "src": "758:4:37",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 6832,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "758:34:37",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_magic_meta_type_t_contract$_WitnetOracleTrustableDefault_$7013",
                        "typeString": "type(contract WitnetOracleTrustableDefault)"
                      }
                    },
                    "id": 6833,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "lValueRequested": false,
                    "memberLocation": "793:4:37",
                    "memberName": "name",
                    "nodeType": "MemberAccess",
                    "src": "758:39:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 6829,
                  "id": 6834,
                  "nodeType": "Return",
                  "src": "751:46:37"
                }
              ]
            },
            "functionSelector": "bff852fa",
            "id": 6836,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "class",
            "nameLocation": "679:5:37",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6826,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "695:8:37"
            },
            "parameters": {
              "id": 6825,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "684:2:37"
            },
            "returnParameters": {
              "id": 6829,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6828,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 6836,
                  "src": "725:13:37",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6827,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "725:6:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "724:15:37"
            },
            "scope": 7013,
            "src": "670:135:37",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 6838,
            "mutability": "immutable",
            "name": "__reportResultGasBase",
            "nameLocation": "840:21:37",
            "nodeType": "VariableDeclaration",
            "scope": 7013,
            "src": "813:48:37",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 6837,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "813:7:37",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 6840,
            "mutability": "immutable",
            "name": "__reportResultWithCallbackGasBase",
            "nameLocation": "895:33:37",
            "nodeType": "VariableDeclaration",
            "scope": 7013,
            "src": "868:60:37",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 6839,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "868:7:37",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 6842,
            "mutability": "immutable",
            "name": "__reportResultWithCallbackRevertGasBase",
            "nameLocation": "962:39:37",
            "nodeType": "VariableDeclaration",
            "scope": 7013,
            "src": "935:66:37",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 6841,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "935:7:37",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 6844,
            "mutability": "immutable",
            "name": "__sstoreFromZeroGas",
            "nameLocation": "1035:19:37",
            "nodeType": "VariableDeclaration",
            "scope": 7013,
            "src": "1008:46:37",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 6843,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1008:7:37",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "visibility": "internal"
          },
          {
            "body": {
              "id": 6891,
              "nodeType": "Block",
              "src": "1620:287:37",
              "statements": [
                {
                  "expression": {
                    "id": 6877,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6875,
                      "name": "__reportResultGasBase",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6838,
                      "src": "1634:21:37",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 6876,
                      "name": "_reportResultGasBase",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6856,
                      "src": "1658:20:37",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1634:44:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 6878,
                  "nodeType": "ExpressionStatement",
                  "src": "1634:44:37"
                },
                {
                  "expression": {
                    "id": 6881,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6879,
                      "name": "__reportResultWithCallbackGasBase",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6840,
                      "src": "1689:33:37",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 6880,
                      "name": "_reportResultWithCallbackGasBase",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6858,
                      "src": "1725:32:37",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1689:68:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 6882,
                  "nodeType": "ExpressionStatement",
                  "src": "1689:68:37"
                },
                {
                  "expression": {
                    "id": 6885,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6883,
                      "name": "__reportResultWithCallbackRevertGasBase",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6842,
                      "src": "1768:39:37",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 6884,
                      "name": "_reportResultWithCallbackRevertGasBase",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6860,
                      "src": "1810:38:37",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1768:80:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 6886,
                  "nodeType": "ExpressionStatement",
                  "src": "1768:80:37"
                },
                {
                  "expression": {
                    "id": 6889,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6887,
                      "name": "__sstoreFromZeroGas",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6844,
                      "src": "1859:19:37",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 6888,
                      "name": "_sstoreFromZeroGas",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6862,
                      "src": "1881:18:37",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1859:40:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 6890,
                  "nodeType": "ExpressionStatement",
                  "src": "1859:40:37"
                }
              ]
            },
            "id": 6892,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 6865,
                    "name": "_factory",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6847,
                    "src": "1491:8:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                      "typeString": "contract WitnetRequestFactory"
                    }
                  },
                  {
                    "id": 6866,
                    "name": "_registry",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6850,
                    "src": "1515:9:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                      "typeString": "contract WitnetRequestBytecodes"
                    }
                  },
                  {
                    "id": 6867,
                    "name": "_upgradable",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6852,
                    "src": "1539:11:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  {
                    "id": 6868,
                    "name": "_versionTag",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6854,
                    "src": "1566:11:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "arguments": [
                      {
                        "hexValue": "30",
                        "id": 6871,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1601:1:37",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        }
                      ],
                      "id": 6870,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "1593:7:37",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_address_$",
                        "typeString": "type(address)"
                      },
                      "typeName": {
                        "id": 6869,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "1593:7:37",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 6872,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1593:10:37",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  }
                ],
                "id": 6873,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 6864,
                  "name": "WitnetOracleTrustableBase",
                  "nameLocations": [
                    "1451:25:37"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 6817,
                  "src": "1451:25:37"
                },
                "nodeType": "ModifierInvocation",
                "src": "1451:163:37"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6863,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6847,
                  "mutability": "mutable",
                  "name": "_factory",
                  "nameLocation": "1110:8:37",
                  "nodeType": "VariableDeclaration",
                  "scope": 6892,
                  "src": "1089:29:37",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                    "typeString": "contract WitnetRequestFactory"
                  },
                  "typeName": {
                    "id": 6846,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 6845,
                      "name": "WitnetRequestFactory",
                      "nameLocations": [
                        "1089:20:37"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 880,
                      "src": "1089:20:37"
                    },
                    "referencedDeclaration": 880,
                    "src": "1089:20:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestFactory_$880",
                      "typeString": "contract WitnetRequestFactory"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6850,
                  "mutability": "mutable",
                  "name": "_registry",
                  "nameLocation": "1156:9:37",
                  "nodeType": "VariableDeclaration",
                  "scope": 6892,
                  "src": "1133:32:37",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                    "typeString": "contract WitnetRequestBytecodes"
                  },
                  "typeName": {
                    "id": 6849,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 6848,
                      "name": "WitnetRequestBytecodes",
                      "nameLocations": [
                        "1133:22:37"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 849,
                      "src": "1133:22:37"
                    },
                    "referencedDeclaration": 849,
                    "src": "1133:22:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WitnetRequestBytecodes_$849",
                      "typeString": "contract WitnetRequestBytecodes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6852,
                  "mutability": "mutable",
                  "name": "_upgradable",
                  "nameLocation": "1185:11:37",
                  "nodeType": "VariableDeclaration",
                  "scope": 6892,
                  "src": "1180:16:37",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 6851,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1180:4:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6854,
                  "mutability": "mutable",
                  "name": "_versionTag",
                  "nameLocation": "1219:11:37",
                  "nodeType": "VariableDeclaration",
                  "scope": 6892,
                  "src": "1211:19:37",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 6853,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1211:7:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6856,
                  "mutability": "mutable",
                  "name": "_reportResultGasBase",
                  "nameLocation": "1253:20:37",
                  "nodeType": "VariableDeclaration",
                  "scope": 6892,
                  "src": "1245:28:37",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6855,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1245:7:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6858,
                  "mutability": "mutable",
                  "name": "_reportResultWithCallbackGasBase",
                  "nameLocation": "1296:32:37",
                  "nodeType": "VariableDeclaration",
                  "scope": 6892,
                  "src": "1288:40:37",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6857,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1288:7:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6860,
                  "mutability": "mutable",
                  "name": "_reportResultWithCallbackRevertGasBase",
                  "nameLocation": "1351:38:37",
                  "nodeType": "VariableDeclaration",
                  "scope": 6892,
                  "src": "1343:46:37",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6859,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1343:7:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6862,
                  "mutability": "mutable",
                  "name": "_sstoreFromZeroGas",
                  "nameLocation": "1412:18:37",
                  "nodeType": "VariableDeclaration",
                  "scope": 6892,
                  "src": "1404:26:37",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6861,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1404:7:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1074:367:37"
            },
            "returnParameters": {
              "id": 6874,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1620:0:37"
            },
            "scope": 7013,
            "src": "1063:844:37",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              5196
            ],
            "body": {
              "id": 6925,
              "nodeType": "Block",
              "src": "2641:224:37",
              "statements": [
                {
                  "expression": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 6923,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 6903,
                      "name": "_gasPrice",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6895,
                      "src": "2659:9:37",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "*",
                    "rightExpression": {
                      "components": [
                        {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 6921,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 6904,
                            "name": "__reportResultGasBase",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6838,
                            "src": "2686:21:37",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 6920,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "id": 6905,
                              "name": "__sstoreFromZeroGas",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6844,
                              "src": "2727:19:37",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "*",
                            "rightExpression": {
                              "components": [
                                {
                                  "commonType": {
                                    "typeIdentifier": "t_uint16",
                                    "typeString": "uint16"
                                  },
                                  "id": 6918,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "hexValue": "34",
                                    "id": 6906,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "2772:1:37",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_4_by_1",
                                      "typeString": "int_const 4"
                                    },
                                    "value": "4"
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "+",
                                  "rightExpression": {
                                    "commonType": {
                                      "typeIdentifier": "t_uint16",
                                      "typeString": "uint16"
                                    },
                                    "id": 6917,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "components": [
                                        {
                                          "condition": {
                                            "commonType": {
                                              "typeIdentifier": "t_uint16",
                                              "typeString": "uint16"
                                            },
                                            "id": 6909,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftExpression": {
                                              "id": 6907,
                                              "name": "_resultMaxSize",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 6897,
                                              "src": "2777:14:37",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint16",
                                                "typeString": "uint16"
                                              }
                                            },
                                            "nodeType": "BinaryOperation",
                                            "operator": "==",
                                            "rightExpression": {
                                              "hexValue": "30",
                                              "id": 6908,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "kind": "number",
                                              "lValueRequested": false,
                                              "nodeType": "Literal",
                                              "src": "2795:1:37",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_rational_0_by_1",
                                                "typeString": "int_const 0"
                                              },
                                              "value": "0"
                                            },
                                            "src": "2777:19:37",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bool",
                                              "typeString": "bool"
                                            }
                                          },
                                          "falseExpression": {
                                            "commonType": {
                                              "typeIdentifier": "t_uint16",
                                              "typeString": "uint16"
                                            },
                                            "id": 6913,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftExpression": {
                                              "id": 6911,
                                              "name": "_resultMaxSize",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 6897,
                                              "src": "2803:14:37",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint16",
                                                "typeString": "uint16"
                                              }
                                            },
                                            "nodeType": "BinaryOperation",
                                            "operator": "-",
                                            "rightExpression": {
                                              "hexValue": "31",
                                              "id": 6912,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "kind": "number",
                                              "lValueRequested": false,
                                              "nodeType": "Literal",
                                              "src": "2820:1:37",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_rational_1_by_1",
                                                "typeString": "int_const 1"
                                              },
                                              "value": "1"
                                            },
                                            "src": "2803:18:37",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint16",
                                              "typeString": "uint16"
                                            }
                                          },
                                          "id": 6914,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "nodeType": "Conditional",
                                          "src": "2777:44:37",
                                          "trueExpression": {
                                            "hexValue": "30",
                                            "id": 6910,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "2799:1:37",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_rational_0_by_1",
                                              "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                          },
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint16",
                                            "typeString": "uint16"
                                          }
                                        }
                                      ],
                                      "id": 6915,
                                      "isConstant": false,
                                      "isInlineArray": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "TupleExpression",
                                      "src": "2776:46:37",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint16",
                                        "typeString": "uint16"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "/",
                                    "rightExpression": {
                                      "hexValue": "3332",
                                      "id": 6916,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "2825:2:37",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_32_by_1",
                                        "typeString": "int_const 32"
                                      },
                                      "value": "32"
                                    },
                                    "src": "2776:51:37",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint16",
                                      "typeString": "uint16"
                                    }
                                  },
                                  "src": "2772:55:37",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint16",
                                    "typeString": "uint16"
                                  }
                                }
                              ],
                              "id": 6919,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "TupleExpression",
                              "src": "2749:97:37",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint16",
                                "typeString": "uint16"
                              }
                            },
                            "src": "2727:119:37",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "2686:160:37",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 6922,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "2671:186:37",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2659:198:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 6902,
                  "id": 6924,
                  "nodeType": "Return",
                  "src": "2652:205:37"
                }
              ]
            },
            "documentation": {
              "id": 6893,
              "nodeType": "StructuredDocumentation",
              "src": "2155:334:37",
              "text": "@notice Estimate the minimum reward required for posting a data request.\n @dev Underestimates if the size of returned data is greater than `_resultMaxSize`. \n @param _gasPrice Expected gas price to pay upon posting the data request.\n @param _resultMaxSize Maximum expected size of returned data (in bytes)."
            },
            "functionSelector": "7bd88218",
            "id": 6926,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "estimateBaseFee",
            "nameLocation": "2504:15:37",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6899,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2600:8:37"
            },
            "parameters": {
              "id": 6898,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6895,
                  "mutability": "mutable",
                  "name": "_gasPrice",
                  "nameLocation": "2528:9:37",
                  "nodeType": "VariableDeclaration",
                  "scope": 6926,
                  "src": "2520:17:37",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6894,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2520:7:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6897,
                  "mutability": "mutable",
                  "name": "_resultMaxSize",
                  "nameLocation": "2546:14:37",
                  "nodeType": "VariableDeclaration",
                  "scope": 6926,
                  "src": "2539:21:37",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  },
                  "typeName": {
                    "id": 6896,
                    "name": "uint16",
                    "nodeType": "ElementaryTypeName",
                    "src": "2539:6:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2519:42:37"
            },
            "returnParameters": {
              "id": 6902,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6901,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 6926,
                  "src": "2627:7:37",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6900,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2627:7:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2626:9:37"
            },
            "scope": 7013,
            "src": "2495:370:37",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              5206
            ],
            "body": {
              "id": 6971,
              "nodeType": "Block",
              "src": "3313:761:37",
              "statements": [
                {
                  "assignments": [
                    6938
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6938,
                      "mutability": "mutable",
                      "name": "_reportResultWithCallbackGasThreshold",
                      "nameLocation": "3329:37:37",
                      "nodeType": "VariableDeclaration",
                      "scope": 6971,
                      "src": "3324:42:37",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 6937,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "3324:4:37",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 6945,
                  "initialValue": {
                    "components": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 6943,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 6939,
                          "name": "__reportResultWithCallbackRevertGasBase",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6842,
                          "src": "3384:39:37",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "+",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 6942,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "hexValue": "33",
                            "id": 6940,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3443:1:37",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_3_by_1",
                              "typeString": "int_const 3"
                            },
                            "value": "3"
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "*",
                          "rightExpression": {
                            "id": 6941,
                            "name": "__sstoreFromZeroGas",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6844,
                            "src": "3447:19:37",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "3443:23:37",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "3384:82:37",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "id": 6944,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "3369:108:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3324:153:37"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 6954,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 6948,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 6946,
                        "name": "_callbackGasLimit",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6931,
                        "src": "3506:17:37",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint24",
                          "typeString": "uint24"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "<",
                      "rightExpression": {
                        "id": 6947,
                        "name": "_reportResultWithCallbackGasThreshold",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6938,
                        "src": "3526:37:37",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "3506:57:37",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 6953,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 6951,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 6949,
                          "name": "__reportResultWithCallbackGasBase",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6840,
                          "src": "3584:33:37",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "+",
                        "rightExpression": {
                          "id": 6950,
                          "name": "_callbackGasLimit",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6931,
                          "src": "3620:17:37",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint24",
                            "typeString": "uint24"
                          }
                        },
                        "src": "3584:53:37",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "<",
                      "rightExpression": {
                        "id": 6952,
                        "name": "_reportResultWithCallbackGasThreshold",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6938,
                        "src": "3640:37:37",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "3584:93:37",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "3506:171:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 6969,
                    "nodeType": "Block",
                    "src": "3833:234:37",
                    "statements": [
                      {
                        "expression": {
                          "components": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 6966,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "id": 6961,
                                "name": "_gasPrice",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6929,
                                "src": "3874:9:37",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "*",
                              "rightExpression": {
                                "components": [
                                  {
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 6964,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "id": 6962,
                                      "name": "__reportResultWithCallbackGasBase",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 6840,
                                      "src": "3935:33:37",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "+",
                                    "rightExpression": {
                                      "id": 6963,
                                      "name": "_callbackGasLimit",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 6931,
                                      "src": "4000:17:37",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint24",
                                        "typeString": "uint24"
                                      }
                                    },
                                    "src": "3935:82:37",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "id": 6965,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "3908:132:37",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "3874:166:37",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "id": 6967,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "3855:200:37",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "functionReturnParameters": 6936,
                        "id": 6968,
                        "nodeType": "Return",
                        "src": "3848:207:37"
                      }
                    ]
                  },
                  "id": 6970,
                  "nodeType": "IfStatement",
                  "src": "3488:579:37",
                  "trueBody": {
                    "id": 6960,
                    "nodeType": "Block",
                    "src": "3689:138:37",
                    "statements": [
                      {
                        "expression": {
                          "components": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 6957,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "id": 6955,
                                "name": "_gasPrice",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6929,
                                "src": "3730:9:37",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "*",
                              "rightExpression": {
                                "id": 6956,
                                "name": "_reportResultWithCallbackGasThreshold",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6938,
                                "src": "3763:37:37",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "3730:70:37",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "id": 6958,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "3711:104:37",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "functionReturnParameters": 6936,
                        "id": 6959,
                        "nodeType": "Return",
                        "src": "3704:111:37"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": {
              "id": 6927,
              "nodeType": "StructuredDocumentation",
              "src": "2873:273:37",
              "text": "@notice Estimate the minimum reward required for posting a data request with a callback.\n @param _gasPrice Expected gas price to pay upon posting the data request.\n @param _callbackGasLimit Maximum gas to be spent when reporting the data request result."
            },
            "functionSelector": "05e742ef",
            "id": 6972,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "estimateBaseFeeWithCallback",
            "nameLocation": "3161:27:37",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6933,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3272:8:37"
            },
            "parameters": {
              "id": 6932,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6929,
                  "mutability": "mutable",
                  "name": "_gasPrice",
                  "nameLocation": "3197:9:37",
                  "nodeType": "VariableDeclaration",
                  "scope": 6972,
                  "src": "3189:17:37",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6928,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3189:7:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6931,
                  "mutability": "mutable",
                  "name": "_callbackGasLimit",
                  "nameLocation": "3215:17:37",
                  "nodeType": "VariableDeclaration",
                  "scope": 6972,
                  "src": "3208:24:37",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint24",
                    "typeString": "uint24"
                  },
                  "typeName": {
                    "id": 6930,
                    "name": "uint24",
                    "nodeType": "ElementaryTypeName",
                    "src": "3208:6:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint24",
                      "typeString": "uint24"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3188:45:37"
            },
            "returnParameters": {
              "id": 6936,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6935,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 6972,
                  "src": "3299:7:37",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6934,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3299:7:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3298:9:37"
            },
            "scope": 7013,
            "src": "3152:922:37",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              24130
            ],
            "body": {
              "id": 6982,
              "nodeType": "Block",
              "src": "4474:37:37",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "id": 6979,
                      "name": "tx",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4294967270,
                      "src": "4492:2:37",
                      "typeDescriptions": {
                        "typeIdentifier": "t_magic_transaction",
                        "typeString": "tx"
                      }
                    },
                    "id": 6980,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "4495:8:37",
                    "memberName": "gasprice",
                    "nodeType": "MemberAccess",
                    "src": "4492:11:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 6978,
                  "id": 6981,
                  "nodeType": "Return",
                  "src": "4485:18:37"
                }
              ]
            },
            "documentation": {
              "id": 6973,
              "nodeType": "StructuredDocumentation",
              "src": "4328:35:37",
              "text": "Gets current transaction price."
            },
            "id": 6983,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_getGasPrice",
            "nameLocation": "4378:12:37",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6975,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "4433:8:37"
            },
            "parameters": {
              "id": 6974,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4390:2:37"
            },
            "returnParameters": {
              "id": 6978,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6977,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 6983,
                  "src": "4460:7:37",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6976,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4460:7:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4459:9:37"
            },
            "scope": 7013,
            "src": "4369:142:37",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "baseFunctions": [
              24136
            ],
            "body": {
              "id": 6993,
              "nodeType": "Block",
              "src": "4661:35:37",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "id": 6990,
                      "name": "msg",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4294967281,
                      "src": "4679:3:37",
                      "typeDescriptions": {
                        "typeIdentifier": "t_magic_message",
                        "typeString": "msg"
                      }
                    },
                    "id": 6991,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "4683:5:37",
                    "memberName": "value",
                    "nodeType": "MemberAccess",
                    "src": "4679:9:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 6989,
                  "id": 6992,
                  "nodeType": "Return",
                  "src": "4672:16:37"
                }
              ]
            },
            "documentation": {
              "id": 6984,
              "nodeType": "StructuredDocumentation",
              "src": "4519:31:37",
              "text": "Gets current payment value."
            },
            "id": 6994,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_getMsgValue",
            "nameLocation": "4565:12:37",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6986,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "4620:8:37"
            },
            "parameters": {
              "id": 6985,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4577:2:37"
            },
            "returnParameters": {
              "id": 6989,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6988,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 6994,
                  "src": "4647:7:37",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6987,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4647:7:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4646:9:37"
            },
            "scope": 7013,
            "src": "4556:140:37",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "baseFunctions": [
              24144
            ],
            "body": {
              "id": 7011,
              "nodeType": "Block",
              "src": "4950:49:37",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 7008,
                        "name": "_amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6999,
                        "src": "4983:7:37",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "arguments": [
                          {
                            "id": 7005,
                            "name": "_to",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6997,
                            "src": "4969:3:37",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address_payable",
                              "typeString": "address payable"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address_payable",
                              "typeString": "address payable"
                            }
                          ],
                          "id": 7004,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "4961:8:37",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_payable_$",
                            "typeString": "type(address payable)"
                          },
                          "typeName": {
                            "id": 7003,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "4961:8:37",
                            "stateMutability": "payable",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 7006,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4961:12:37",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      "id": 7007,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "4974:8:37",
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "src": "4961:21:37",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 7009,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4961:30:37",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7010,
                  "nodeType": "ExpressionStatement",
                  "src": "4961:30:37"
                }
              ]
            },
            "documentation": {
              "id": 6995,
              "nodeType": "StructuredDocumentation",
              "src": "4704:127:37",
              "text": "Transfers ETHs to given address.\n @param _to Recipient address.\n @param _amount Amount of ETHs to transfer."
            },
            "id": 7012,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "__safeTransferTo",
            "nameLocation": "4846:16:37",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7001,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "4936:8:37"
            },
            "parameters": {
              "id": 7000,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6997,
                  "mutability": "mutable",
                  "name": "_to",
                  "nameLocation": "4879:3:37",
                  "nodeType": "VariableDeclaration",
                  "scope": 7012,
                  "src": "4863:19:37",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address_payable",
                    "typeString": "address payable"
                  },
                  "typeName": {
                    "id": 6996,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4863:15:37",
                    "stateMutability": "payable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address_payable",
                      "typeString": "address payable"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6999,
                  "mutability": "mutable",
                  "name": "_amount",
                  "nameLocation": "4892:7:37",
                  "nodeType": "VariableDeclaration",
                  "scope": 7012,
                  "src": "4884:15:37",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6998,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4884:7:37",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4862:38:37"
            },
            "returnParameters": {
              "id": 7002,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4950:0:37"
            },
            "scope": 7013,
            "src": "4837:162:37",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          }
        ],
        "scope": 7014,
        "src": "580:4425:37",
        "usedErrors": [
          16,
          19,
          267,
          272,
          523,
          17562,
          17568,
          19262,
          19268,
          19276
        ],
        "usedEvents": [
          24,
          278,
          13278,
          13285,
          13294,
          13307,
          13314,
          13397,
          13730,
          13735,
          24023,
          24106,
          24112,
          24232
        ]
      }
    ],
    "src": "79:4928:37"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.25+commit.b61c2a91.Emscripten.clang"
  },
  "networks": {
    "322": {
      "events": {},
      "links": {
        "WitnetErrorsLib": "0xa57B9dd8420631248c3DFB535f4FC9f7E2f02B4B",
        "WitnetOracleDataLib": "0x561A6c8F9C9D6e7EbAEcd4963A8f27Ae13568676"
      },
      "address": "0x64c74993A83C55Dc81eB1ec9502867d3b4d1d924"
    },
    "11155111": {
      "events": {},
      "links": {
        "WitnetErrorsLib": "0xa57B9dd8420631248c3DFB535f4FC9f7E2f02B4B",
        "WitnetOracleDataLib": "0x561A6c8F9C9D6e7EbAEcd4963A8f27Ae13568676"
      },
      "address": "0xE790FdaEa7f1f4C4Bbd74B3493Cf94E79b24396a"
    }
  },
  "schemaVersion": "3.4.16",
  "updatedAt": "2024-12-05T09:36:04.373Z",
  "devdoc": {
    "author": "The Witnet Foundation",
    "details": "This contract enables posting requests that Witnet bridges will insert into the Witnet network. The result of the requests will be posted back to this contract by the bridge nodes too.",
    "errors": {
      "InvalidInitialization()": [
        {
          "details": "The contract is already initialized."
        }
      ],
      "NotInitializing()": [
        {
          "details": "The contract is not initializing."
        }
      ],
      "OwnableInvalidOwner(address)": [
        {
          "details": "The owner is not a valid owner account. (eg. `address(0)`)"
        }
      ],
      "OwnableUnauthorizedAccount(address)": [
        {
          "details": "The caller account is not authorized to perform an operation."
        }
      ],
      "ReentrancyGuardReentrantCall()": [
        {
          "details": "Unauthorized reentrant call."
        }
      ]
    },
    "events": {
      "Initialized(uint64)": {
        "details": "Triggered when the contract has been initialized or reinitialized."
      },
      "Upgraded(address,address,bytes32,string)": {
        "params": {
          "baseAddr": "The address of the new implementation contract.",
          "baseCodehash": "The EVM-codehash of the new implementation contract.",
          "from": "The address who ordered the upgrading. Namely, the WRB operator in \"trustable\" implementations.",
          "versionTag": "Ascii-encoded version literal with which the implementation deployer decided to tag it."
        }
      }
    },
    "kind": "dev",
    "methods": {
      "acceptOwnership()": {
        "details": "The new owner accepts the ownership transfer."
      },
      "base()": {
        "details": "Retrieves base contract. Differs from address(this) when called via delegate-proxy pattern."
      },
      "codehash()": {
        "details": "Retrieves the immutable codehash of this contract, even if invoked as delegatecall."
      },
      "estimateBaseFee(uint256,bytes32)": {
        "details": "Underestimates if the size of returned data is greater than `resultMaxSize`. ",
        "params": {
          "gasPrice": "Expected gas price to pay upon posting the data request.",
          "radHash": "The hash of some Witnet Data Request previously posted in the WitnetRequestBytecodes registry."
        }
      },
      "estimateBaseFee(uint256,uint16)": {
        "details": "Underestimates if the size of returned data is greater than `_resultMaxSize`. ",
        "params": {
          "_gasPrice": "Expected gas price to pay upon posting the data request.",
          "_resultMaxSize": "Maximum expected size of returned data (in bytes)."
        }
      },
      "estimateBaseFeeWithCallback(uint256,uint24)": {
        "params": {
          "_callbackGasLimit": "Maximum gas to be spent when reporting the data request result.",
          "_gasPrice": "Expected gas price to pay upon posting the data request."
        }
      },
      "extractWitnetDataRequests(uint256[])": {
        "details": "Returns empty buffer if the query does not exist.",
        "params": {
          "_queryIds": "Query identifies."
        }
      },
      "fetchQueryResponse(uint256)": {
        "details": "Fails if the `_witnetQueryId` is not in 'Reported' status, or called from an address different tothe one that actually posted the given request.",
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "getQueryRequest(uint256)": {
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "getQueryResponse(uint256)": {
        "details": "Fails if the `_witnetQueryId` is not in 'Reported' status.",
        "params": {
          "_witnetQueryId": "The unique query identifier"
        }
      },
      "getQueryResponseStatus(uint256)": {
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "getQueryResultCborBytes(uint256)": {
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "getQueryResultError(uint256)": {
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      },
      "initialize(bytes)": {
        "details": "Must fail when trying to upgrade to same logic contract more than once."
      },
      "isReporter(address)": {
        "params": {
          "_reporter": "The address to be checked."
        }
      },
      "isUpgradable()": {
        "details": "Determines whether the logic of this contract is potentially upgradable."
      },
      "owner()": {
        "details": "Returns the address of the current owner."
      },
      "pendingOwner()": {
        "details": "Returns the address of the pending owner."
      },
      "postRequest(bytes32,(uint8,uint64))": {
        "details": "Reasons to fail:- the RAD hash was not previously verified by the WitnetRequestBytecodes registry;- invalid SLA parameters were provided;- insufficient value is paid as reward.",
        "params": {
          "_queryRAD": "The RAD hash of the data request to be solved by Witnet.",
          "_querySLA": "The data query SLA to be fulfilled on the Witnet blockchain."
        },
        "returns": {
          "_witnetQueryId": "Unique query identifier."
        }
      },
      "postRequestWithCallback(bytes,(uint8,uint64),uint24)": {
        "details": "Reasons to fail:- the caller is not a contract implementing the IWitnetConsumer interface;- the provided bytecode is empty;- invalid SLA parameters were provided;- zero callback gas limit is provided;- insufficient value is paid as reward.",
        "params": {
          "_queryCallbackGasLimit": "Maximum gas to be spent when reporting the data request result.",
          "_querySLA": "The data query SLA to be fulfilled on the Witnet blockchain.",
          "_queryUnverifiedBytecode": "The (unverified) bytecode containing the actual data request to be solved by the Witnet blockchain."
        },
        "returns": {
          "_witnetQueryId": "Unique query identifier."
        }
      },
      "postRequestWithCallback(bytes32,(uint8,uint64),uint24)": {
        "details": "Reasons to fail:- the caller is not a contract implementing the IWitnetConsumer interface;- the RAD hash was not previously verified by the WitnetRequestBytecodes registry;- invalid SLA parameters were provided;- zero callback gas limit is provided;- insufficient value is paid as reward.",
        "params": {
          "_queryCallbackGasLimit": "Maximum gas to be spent when reporting the data request result.",
          "_queryRAD": "The RAD hash of the data request to be solved by Witnet.",
          "_querySLA": "The data query SLA to be fulfilled on the Witnet blockchain."
        },
        "returns": {
          "_witnetQueryId": "Unique query identifier."
        }
      },
      "renounceOwnership()": {
        "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
      },
      "reportResult(uint256,bytes32,bytes)": {
        "details": "Will assume `block.timestamp` as the timestamp at which the request was solved.Fails if:- the `_witnetQueryId` is not in 'Posted' status.- provided `_witnetQueryResultTallyHash` is zero;- length of provided `_result` is zero.",
        "params": {
          "_witnetQueryId": "The unique identifier of the data request.",
          "_witnetQueryResultCborBytes": "The result itself as bytes.",
          "_witnetQueryResultTallyHash": "Hash of the commit/reveal witnessing act that took place in the Witnet blockahin."
        }
      },
      "reportResult(uint256,uint32,bytes32,bytes)": {
        "details": "Fails if:- called from unauthorized address;- the `_witnetQueryId` is not in 'Posted' status.- provided `_witnetQueryResultTallyHash` is zero;- length of provided `_witnetQueryResultCborBytes` is zero.",
        "params": {
          "_witnetQueryId": "The unique query identifier",
          "_witnetQueryResultCborBytes": "The result itself as bytes.",
          "_witnetQueryResultTallyHash": "Hash of the commit/reveal witnessing act that took place in the Witnet blockahin.",
          "_witnetQueryResultTimestamp": "Timestamp at which the reported value was captured by the Witnet blockchain. "
        }
      },
      "reportResultBatch((uint256,uint32,bytes32,bytes)[])": {
        "details": "Fails only if called from unauthorized address.",
        "params": {
          "_batchResults": "Array of BatchResult structs, every one containing:         - unique query identifier;         - timestamp of the solving tally txs in Witnet. If zero is provided, EVM-timestamp will be used instead;         - hash of the corresponding data request tx at the Witnet side-chain level;         - data request result in raw bytes."
        }
      },
      "setReporters(address[])": {
        "details": "Can only be called from the owner address.Emits the `ReportersSet` event. ",
        "params": {
          "_reporters": "List of addresses to be added to the active reporters control list."
        }
      },
      "transferOwnership(address)": {
        "details": "Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner."
      },
      "unsetReporters(address[])": {
        "details": "Can only be called from the owner address.Emits the `ReportersUnset` event. ",
        "params": {
          "_exReporters": "List of addresses to be added to the active reporters control list."
        }
      },
      "upgradeQueryEvmReward(uint256)": {
        "details": "Fails if the `_witnetQueryId` is not in 'Posted' status.",
        "params": {
          "_witnetQueryId": "The unique query identifier."
        }
      }
    },
    "title": "Witnet Request Board \"trustable\" implementation contract.",
    "version": 1
  },
  "userdoc": {
    "events": {
      "Upgraded(address,address,bytes32,string)": {
        "notice": "Emitted every time the contract gets upgraded."
      },
      "WitnetQuery(uint256,uint256,(uint8,uint64))": {
        "notice": "Emitted every time a new query containing some verified data request is posted to the WRB."
      },
      "WitnetQueryResponse(uint256,uint256)": {
        "notice": "Emitted when a query with no callback gets reported into the WRB."
      },
      "WitnetQueryResponseDelivered(uint256,uint256,uint256)": {
        "notice": "Emitted when a query with a callback gets successfully reported into the WRB."
      },
      "WitnetQueryResponseDeliveryFailed(uint256,bytes,uint256,uint256,string)": {
        "notice": "Emitted when a query with a callback cannot get reported into the WRB."
      },
      "WitnetQueryRewardUpgraded(uint256,uint256)": {
        "notice": "Emitted when the reward of some not-yet reported query is upgraded."
      }
    },
    "kind": "user",
    "methods": {
      "estimateBaseFee(uint256,bytes32)": {
        "notice": "Estimate the minimum reward required for posting a data request."
      },
      "estimateBaseFee(uint256,uint16)": {
        "notice": "Estimate the minimum reward required for posting a data request."
      },
      "estimateBaseFeeWithCallback(uint256,uint24)": {
        "notice": "Estimate the minimum reward required for posting a data request with a callback."
      },
      "estimateReportEarnings(uint256[],bytes,uint256,uint256)": {
        "notice": "Estimates the actual earnings (or loss), in WEI, that a reporter would get by reporting result to given query,based on the gas price of the calling transaction. Data requesters should consider upgrading the reward on queries providing no actual earnings."
      },
      "extractWitnetDataRequests(uint256[])": {
        "notice": "Retrieves the Witnet Data Request bytecodes and SLAs of previously posted queries."
      },
      "fetchQueryResponse(uint256)": {
        "notice": "Retrieves copy of all response data related to a previously posted request, removing the whole query from storage."
      },
      "getNextQueryId()": {
        "notice": "Returns next query id to be generated by the Witnet Request Board."
      },
      "getQuery(uint256)": {
        "notice": "Gets the whole Query data contents, if any, no matter its current status."
      },
      "getQueryEvmReward(uint256)": {
        "notice": "Gets the current EVM reward the report can claim, if not done yet."
      },
      "getQueryRequest(uint256)": {
        "notice": "Retrieves the RAD hash and SLA parameters of the given query."
      },
      "getQueryResponse(uint256)": {
        "notice": "Retrieves the Witnet-provable result, and metadata, to a previously posted request.    "
      },
      "getQueryResponseStatus(uint256)": {
        "notice": "Returns query's result current status from a requester's point of view:- 0 => Void: the query is either non-existent or deleted;- 1 => Awaiting: the query has not yet been reported;- 2 => Ready: the query has been succesfully solved;- 3 => Error: the query couldn't get solved due to some issue."
      },
      "getQueryResultCborBytes(uint256)": {
        "notice": "Retrieves the CBOR-encoded buffer containing the Witnet-provided result to the given query."
      },
      "getQueryResultError(uint256)": {
        "notice": "Gets error code identifying some possible failure on the resolution of the given query."
      },
      "getQueryStatus(uint256)": {
        "notice": "Gets current status of given query."
      },
      "initialize(bytes)": {
        "notice": "Re-initialize contract's storage context upon a new upgrade from a proxy."
      },
      "isReporter(address)": {
        "notice": "Tells whether given address is included in the active reporters control list."
      },
      "isUpgradableFrom(address)": {
        "notice": "Tells whether provided address could eventually upgrade the contract."
      },
      "postRequest(bytes32,(uint8,uint64))": {
        "notice": "Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request."
      },
      "postRequestWithCallback(bytes,(uint8,uint64),uint24)": {
        "notice": "Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request. The Witnet-provable result will be reporteddirectly to the requesting contract. If the report callback fails for any reason, a `WitnetQueryResponseDeliveryFailed`event will be triggered, and the Witnet audit trail will be saved in storage, but not so the CBOR-encoded result."
      },
      "postRequestWithCallback(bytes32,(uint8,uint64),uint24)": {
        "notice": "Requests the execution of the given Witnet Data Request, in expectation that it will be relayed and solved by the Witnet blockchain. A reward amount is escrowed by the Witnet Request Board that will be transferred to the reporter who relays back the Witnet-provable result to this request. The Witnet-provable result will be reporteddirectly to the requesting contract. If the report callback fails for any reason, an `WitnetQueryResponseDeliveryFailed`will be triggered, and the Witnet audit trail will be saved in storage, but not so the actual CBOR-encoded result."
      },
      "reportResult(uint256,bytes32,bytes)": {
        "notice": "Reports the Witnet-provable result to a previously posted request. "
      },
      "reportResult(uint256,uint32,bytes32,bytes)": {
        "notice": "Reports the Witnet-provable result to a previously posted request."
      },
      "reportResultBatch((uint256,uint32,bytes32,bytes)[])": {
        "notice": "Reports Witnet-provided results to multiple requests within a single EVM tx.Emits either a WitnetQueryResponse* or a BatchReportError event per batched report."
      },
      "setReporters(address[])": {
        "notice": "Adds given addresses to the active reporters control list."
      },
      "unsetReporters(address[])": {
        "notice": "Removes given addresses from the active reporters control list."
      },
      "upgradeQueryEvmReward(uint256)": {
        "notice": "Increments the reward of a previously posted request by adding the transaction value to it."
      },
      "version()": {
        "notice": "Retrieves human-readable version tag of current implementation."
      }
    },
    "notice": "Contract to bridge requests to Witnet Decentralized Oracle Network.",
    "version": 1
  }
}