{
  "contractName": "WitOracleRadonRequestFactoryModals",
  "abi": [
    {
      "inputs": [],
      "name": "InvalidInitialization",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NotInitializing",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "by",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "master",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "clone",
          "type": "address"
        }
      ],
      "name": "Cloned",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "version",
          "type": "uint64"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "base",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "class",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "cloned",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "witOracle",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "specs",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_commonRetrievalHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes15",
          "name": "_crowdAttestationTallyHash",
          "type": "bytes15"
        }
      ],
      "name": "buildRadonRequestModal",
      "outputs": [
        {
          "internalType": "contract IWitOracleRadonRequestModal",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_commonRetrievalHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes15",
          "name": "_crowdAttestationTallyHash",
          "type": "bytes15"
        }
      ],
      "name": "determineAddress",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_commonRetrievalHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes15",
          "name": "_crowdAttestationTallyHash",
          "type": "bytes15"
        }
      ],
      "name": "initialize",
      "outputs": [
        {
          "internalType": "contract IWitOracleRadonRequestModal",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "initialized",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getCrowdAttestationTally",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.RadonReduceOpcodes",
              "name": "opcode",
              "type": "uint8"
            },
            {
              "components": [
                {
                  "internalType": "enum Witnet.RadonFilterOpcodes",
                  "name": "opcode",
                  "type": "uint8"
                },
                {
                  "internalType": "bytes",
                  "name": "cborArgs",
                  "type": "bytes"
                }
              ],
              "internalType": "struct Witnet.RadonFilter[]",
              "name": "filters",
              "type": "tuple[]"
            }
          ],
          "internalType": "struct Witnet.RadonReducer",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getDataResultType",
      "outputs": [
        {
          "internalType": "enum Witnet.RadonDataTypes",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "url",
          "type": "string"
        }
      ],
      "name": "getDataSourceArgsCount",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getDataSourcesAggregator",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.RadonReduceOpcodes",
              "name": "opcode",
              "type": "uint8"
            },
            {
              "components": [
                {
                  "internalType": "enum Witnet.RadonFilterOpcodes",
                  "name": "opcode",
                  "type": "uint8"
                },
                {
                  "internalType": "bytes",
                  "name": "cborArgs",
                  "type": "bytes"
                }
              ],
              "internalType": "struct Witnet.RadonFilter[]",
              "name": "filters",
              "type": "tuple[]"
            }
          ],
          "internalType": "struct Witnet.RadonReducer",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getRadonModalRetrieval",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "argsCount",
              "type": "uint8"
            },
            {
              "internalType": "enum Witnet.RadonRetrievalMethods",
              "name": "method",
              "type": "uint8"
            },
            {
              "internalType": "enum Witnet.RadonDataTypes",
              "name": "dataType",
              "type": "uint8"
            },
            {
              "internalType": "string",
              "name": "url",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "body",
              "type": "string"
            },
            {
              "internalType": "string[2][]",
              "name": "headers",
              "type": "string[2][]"
            },
            {
              "internalType": "bytes",
              "name": "radonScript",
              "type": "bytes"
            }
          ],
          "internalType": "struct Witnet.RadonRetrieval",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string[]",
          "name": "modalArgs",
          "type": "string[]"
        },
        {
          "internalType": "string[]",
          "name": "modalUrls",
          "type": "string[]"
        }
      ],
      "name": "verifyRadonRequest",
      "outputs": [
        {
          "internalType": "Witnet.RadonHash",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"by\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"master\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"clone\",\"type\":\"address\"}],\"name\":\"Cloned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"base\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_commonRetrievalHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes15\",\"name\":\"_crowdAttestationTallyHash\",\"type\":\"bytes15\"}],\"name\":\"buildRadonRequestModal\",\"outputs\":[{\"internalType\":\"contract IWitOracleRadonRequestModal\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"class\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloned\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_commonRetrievalHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes15\",\"name\":\"_crowdAttestationTallyHash\",\"type\":\"bytes15\"}],\"name\":\"determineAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCrowdAttestationTally\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Witnet.RadonReduceOpcodes\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"enum Witnet.RadonFilterOpcodes\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"cborArgs\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.RadonFilter[]\",\"name\":\"filters\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Witnet.RadonReducer\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDataResultType\",\"outputs\":[{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"getDataSourceArgsCount\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDataSourcesAggregator\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Witnet.RadonReduceOpcodes\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"enum Witnet.RadonFilterOpcodes\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"cborArgs\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.RadonFilter[]\",\"name\":\"filters\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Witnet.RadonReducer\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRadonModalRetrieval\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"argsCount\",\"type\":\"uint8\"},{\"internalType\":\"enum Witnet.RadonRetrievalMethods\",\"name\":\"method\",\"type\":\"uint8\"},{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"dataType\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"body\",\"type\":\"string\"},{\"internalType\":\"string[2][]\",\"name\":\"headers\",\"type\":\"string[2][]\"},{\"internalType\":\"bytes\",\"name\":\"radonScript\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.RadonRetrieval\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_commonRetrievalHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes15\",\"name\":\"_crowdAttestationTallyHash\",\"type\":\"bytes15\"}],\"name\":\"initialize\",\"outputs\":[{\"internalType\":\"contract IWitOracleRadonRequestModal\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"specs\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"modalArgs\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"modalUrls\",\"type\":\"string[]\"}],\"name\":\"verifyRadonRequest\",\"outputs\":[{\"internalType\":\"Witnet.RadonHash\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"witOracle\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"class()\":{\"notice\":\"Returns the name of the actual contract implementing the logic of this Witnet appliance.\"},\"cloned()\":{\"notice\":\"Tells whether this contract is a clone of `self()`\"},\"getCrowdAttestationTally()\":{\"notice\":\"=============================================================================================================== --- IWitOracleRadonRequestModal -------------------------------------------------------------------------------\"},\"initialized()\":{\"notice\":\"Tells whether a WitOracleRequest or a WitOracleRequestTemplate has been properly initialized.\"},\"specs()\":{\"notice\":\"Returns the ERC-165 id of the minimal functionality expected for this appliance.\"},\"witOracle()\":{\"notice\":\"Reference to the Witnet Request Board that all templates built out from this factory will refer to.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/core/base/WitOracleRadonRequestFactoryModals.sol\":\"WitOracleRadonRequestFactoryModals\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"project:/contracts/core/base/WitOracleRadonRequestFactoryModals.sol\":{\"keccak256\":\"0xd0f8e429111741babddd598e5aa390e8848c4e153272f43731719a2b8fbcde6c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9dd0e2c180eb42840345fb0892c20f3ceb377cb0e53d92f4817d55993a2d0ab0\",\"dweb:/ipfs/QmYwqScKvMV1pGdoUFRG7kQG98fHZ5p5bQkaoQCFbwbxwf\"]},\"project:/contracts/interfaces/IWitAppliance.sol\":{\"keccak256\":\"0xd207ca54a1049445a3d99eea497d9b34c6dbdd44d771eee825e4c031bd2f447e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f81de32d868ff2881ed6fe97cc897e40b4b11d23cbe53a0e23cf3e68f9c0f0a3\",\"dweb:/ipfs/QmeeXmzmK5MAzt7Hf5DB2L81efKtTzZg9VbQ8sUiTqEk5c\"]},\"project:/contracts/interfaces/IWitOracle.sol\":{\"keccak256\":\"0x26cbe2074c0b3f545a46d95fad5e2280b67edcd958e4ae0b88f3a018aa11b805\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5324bac61f65e3edb01c88b9b75ca17affd593be88da5753a93b3f5304d3f479\",\"dweb:/ipfs/QmcVmNV6smbFiPaxvuN8ShkqbDZsT1wfjnF7f3qs6ke7QG\"]},\"project:/contracts/interfaces/IWitOracleAppliance.sol\":{\"keccak256\":\"0xcd8e57eca7f8042c85a83264e2ff6d1cd7a9f1521831736d7f57bcc7800642e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c639668e9439d60770b5df77436088ae7bd0aeb1d1be446552a98b6c29138f0\",\"dweb:/ipfs/QmbN3f5YuKMSd2j9tjay3VEkiYibGWpbfbwRNyrxA8k4o4\"]},\"project:/contracts/interfaces/IWitOracleRadonRegistry.sol\":{\"keccak256\":\"0x437bbb89129311bd1cc8f6becd333df46109ec53b24d3159be942b225614071f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef9bcdf4a73cb126885478c994821b7fe2b87d9221b767b4c9342b89b0d6550a\",\"dweb:/ipfs/QmXzZXPMxjSiFpcEnhg6CjLFNxGCpDZt22xpUh7VHxNTGd\"]},\"project:/contracts/interfaces/IWitOracleRadonRequestModal.sol\":{\"keccak256\":\"0x60b777e63700ed42d7e4b88c8e12db4b5220adb10d2ecc618c8c2a99a09eccee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b70b584cba3caa113e95aef31dbf5d5ae78042907c159e3ca25e3420d3b5b3f\",\"dweb:/ipfs/QmRThmU5vd8aVX2iK33pfmp6SKgfqgnC9VpT6Ruk1EwyVB\"]},\"project:/contracts/libs/Bech32.sol\":{\"keccak256\":\"0x14618323a0efe7586c20906a2e9cee7ad63baa976ff231c57f7f2d7d3707fb8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a19f05fe84047a7a6d3d6fc39972b432e6e536aa70472386a9d7a6d9aab64a64\",\"dweb:/ipfs/QmcHwUY66yjiotRH4Q3kbRvSzcHyLQ1yHL3KbtQKiMhtZE\"]},\"project:/contracts/libs/Secp256k1.sol\":{\"keccak256\":\"0xbe686002da5004ff39dd70709f3820eba2afe9323ae9cb894009c161e4b1a666\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18fab91775216de0707cea9ad285b10be09127461a13432fea358bf9cb2a0c2e\",\"dweb:/ipfs/QmeRUGsgstnM4hxM9hpkBf3L6cE5btirEaowcMxmuw3utj\"]},\"project:/contracts/libs/Witnet.sol\":{\"keccak256\":\"0x1d446c3e534e40e676d1763bfb2897fadfac8afed904ab757843d7d6770b0a6c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://338fb1073f17d64e8d31bfe492d9475ce906788ee08e6489ce30413f91dc1328\",\"dweb:/ipfs/QmPe5QX2AGTnQFjse1Xttq4ZYWwYAiXoySb5VUui3PqPhk\"]},\"project:/contracts/libs/WitnetBuffer.sol\":{\"keccak256\":\"0x8e07aebe2954ab3e6f2d8eceedb12db7cf915c1f3e8630f4fa9999cecb1c78ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed6c54cc901183d61546e8fd15bd5ea8ef238ebc915642946071d435dd7481ea\",\"dweb:/ipfs/Qmcaqta7YjUSBbBUGqoh44bsCS6UqqoyHjBuz4qnKBShXM\"]},\"project:/contracts/libs/WitnetCBOR.sol\":{\"keccak256\":\"0xd99308373575cc10fb7f2ceb0f6a8625f3911275c1fa27811fae498d98d03d97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4909a999d7b660a2dc54ca957b6eccfa523e2765fc4d6a2574dee7d5cd67b43\",\"dweb:/ipfs/QmWGQT4KDcfSFe1hcHVoWx6E4PhYMaod5iLpJCWBEeShzh\"]},\"project:/contracts/patterns/Clonable.sol\":{\"keccak256\":\"0x9a2dbc814306f60263fe736b88aeabc44fc241d3bed132e8dd76a3684dd825f7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e665de5be06c9227c49f9466d24f798d4bed1a2db66d4d1368dcd9fc663c1b3a\",\"dweb:/ipfs/QmRjY2CHTGp1eyi9XPeTKr4WnPCzXbtk2285kdy2bJVCYA\"]},\"project:/contracts/patterns/Initializable.sol\":{\"keccak256\":\"0xaac470e87f361cf15d68d1618d6eb7d4913885d33ccc39c797841a9591d44296\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef3760b2039feda8715d4bd9f8de8e3885f25573d12ba92f52d626ba880a08bf\",\"dweb:/ipfs/QmP2mfHPBKkjTAKft95sPDb4PBsjfmAwc47Kdcv3xYSf3g\"]}},\"version\":1}",
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "immutableReferences": {},
  "generatedSources": [],
  "deployedGeneratedSources": [],
  "sourceMap": "",
  "deployedSourceMap": "",
  "source": "// SPDX-License-Identifier: MIT\r\n\r\npragma solidity >=0.8.0 <0.9.0;\r\n\r\nimport \"../../interfaces/IWitOracle.sol\";\r\nimport \"../../interfaces/IWitOracleAppliance.sol\";\r\nimport \"../../interfaces/IWitOracleRadonRequestModal.sol\";\r\n\r\nimport \"../../patterns/Clonable.sol\";\r\n\r\nabstract contract WitOracleRadonRequestFactoryModals\r\n    is\r\n        Clonable,\r\n        IWitOracleAppliance,\r\n        IWitOracleRadonRequestModal \r\n{\r\n    function specs() virtual override public view returns (bytes4) {\r\n        return (\r\n            initialized()\r\n                ? type(IWitOracleRadonRequestModal).interfaceId\r\n                : bytes4(0xebb91556) // bytes4(keccak256(abi.encodePacked(\"buildRadonRequestModal(bytes32,bytes15)\")))\r\n                    ^ bytes4(0xa646ccc1) // bytes4(keccak256(abi.encodePacked(\"determineAddress(bytes32,bytes15)\")))\r\n        );\r\n    }\r\n\r\n    /// @notice Reference to the Witnet Request Board that all templates built out from this factory will refer to.\r\n    address immutable public override(IWitOracleAppliance, IWitOracleRadonRequestModal) witOracle;\r\n\r\n    IWitOracleRadonRegistry internal immutable __witOracleRadonRegistry;\r\n    bytes16 internal immutable __radonAggregateHash;\r\n    \r\n    struct Storage {\r\n        /// @notice  Radon retrieval common to all data providers.\r\n        bytes32 radonRetrieveHash;\r\n        /// @notice Crowd attestation tally.\r\n        bytes16 radonTallyHash;\r\n    }\r\n    Storage private __storage;\r\n\r\n    constructor(address _witOracle) {\r\n        _require(_witOracle != address(0) && _witOracle.code.length > 0, \"inexistent Wit/Oracle\");\r\n        witOracle = _witOracle;\r\n        __witOracleRadonRegistry = IWitOracle(witOracle).registry();\r\n        __radonAggregateHash = bytes16(__witOracleRadonRegistry.verifyRadonReducer(\r\n            Witnet.RadonReducer({\r\n                opcode: Witnet.RadonReduceOpcodes.Mode,\r\n                filters: new Witnet.RadonFilter[](0)\r\n            })\r\n        ));\r\n    }\r\n\r\n    function buildRadonRequestModal(\r\n            bytes32 _commonRetrievalHash, \r\n            bytes15 _crowdAttestationTallyHash\r\n        ) \r\n        virtual\r\n        external\r\n        notOnClones\r\n        returns (IWitOracleRadonRequestModal)\r\n    {\r\n        return WitOracleRadonRequestFactoryModals(\r\n            __cloneDeterministic(_determineSaltAndPepper(\r\n                _commonRetrievalHash,\r\n                _crowdAttestationTallyHash\r\n            ))\r\n        ).initialize(\r\n            _commonRetrievalHash,\r\n            _crowdAttestationTallyHash\r\n        );\r\n    }\r\n\r\n    function determineAddress(\r\n            bytes32 _commonRetrievalHash,\r\n            bytes15 _crowdAttestationTallyHash\r\n        )\r\n        virtual //override\r\n        external view\r\n        notOnClones\r\n        returns (address)\r\n    {\r\n        return address(uint160(uint256(keccak256(\r\n            abi.encodePacked(\r\n                bytes1(0xff),\r\n                address(this),\r\n                _determineSaltAndPepper(\r\n                    _commonRetrievalHash,\r\n                    _crowdAttestationTallyHash\r\n                ),\r\n                keccak256(_cloneBytecode())\r\n            )\r\n        ))));\r\n    }\r\n\r\n    function initialize(\r\n            bytes32 _commonRetrievalHash,\r\n            bytes15 _crowdAttestationTallyHash\r\n        )\r\n        virtual\r\n        public \r\n        initializer\r\n        returns (IWitOracleRadonRequestModal)\r\n    {   \r\n        assert(__witOracleRadonRegistry.lookupRadonRetrievalArgsCount(_commonRetrievalHash) >= 1);\r\n        __witOracleRadonRegistry.isVerifiedRadonReducer(_crowdAttestationTallyHash);\r\n        __storage.radonRetrieveHash = _commonRetrievalHash;\r\n        __storage.radonTallyHash = _crowdAttestationTallyHash;\r\n        return IWitOracleRadonRequestModal(address(this));\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    /// --- Clonable implementation and override ----------------------------------------------------------------------\r\n\r\n    /// @notice Tells whether a WitOracleRequest or a WitOracleRequestTemplate has been properly initialized.\r\n    function initialized()\r\n        virtual override(Clonable)\r\n        public view\r\n        returns (bool)\r\n    {\r\n        return __storage.radonRetrieveHash != bytes32(0);\r\n    }\r\n\r\n\r\n    /// ===============================================================================================================\r\n    /// --- IWitOracleRadonRequestModal -------------------------------------------------------------------------------\r\n    \r\n    function getCrowdAttestationTally()\r\n        virtual override\r\n        external view \r\n        onlyOnClones\r\n        returns (Witnet.RadonReducer memory)\r\n    {\r\n        return __witOracleRadonRegistry.lookupRadonReducer(\r\n            __storage.radonTallyHash\r\n        );\r\n    }\r\n\r\n    function getDataResultType()\r\n        virtual override\r\n        external view \r\n        onlyOnClones\r\n        returns (Witnet.RadonDataTypes)\r\n    {\r\n        return __witOracleRadonRegistry.lookupRadonRetrievalResultDataType(\r\n            __storage.radonRetrieveHash\r\n        );\r\n    }\r\n\r\n    function getDataSourceArgsCount(string calldata url)\r\n        virtual override\r\n        external view\r\n        onlyOnClones\r\n        returns (uint8)\r\n    {\r\n        return _max(\r\n            WitnetBuffer.argsCountOf(abi.encode(url)),\r\n            __witOracleRadonRegistry.lookupRadonRetrievalArgsCount(__storage.radonRetrieveHash)\r\n        );\r\n    }\r\n\r\n    function getDataSourcesAggregator() \r\n        virtual override\r\n        external view\r\n        onlyOnClones\r\n        returns (Witnet.RadonReducer memory)\r\n    {\r\n        return __witOracleRadonRegistry.lookupRadonReducer(\r\n            __radonAggregateHash\r\n        );\r\n    }\r\n\r\n    function getRadonModalRetrieval() \r\n        virtual override\r\n        external view \r\n        onlyOnClones\r\n        returns (Witnet.RadonRetrieval memory)\r\n    {\r\n        return __witOracleRadonRegistry.lookupRadonRetrieval(\r\n            __storage.radonRetrieveHash\r\n        );\r\n    }\r\n\r\n    function verifyRadonRequest(\r\n            string[] calldata modalArgs,\r\n            string[] calldata modalUrls\r\n        ) \r\n        virtual override\r\n        external \r\n        onlyOnClones\r\n        returns (Witnet.RadonHash)\r\n    {\r\n        bytes32 _retrieveHash = __storage.radonRetrieveHash;\r\n        uint8 _commonRetrieveArgsCount = __witOracleRadonRegistry.lookupRadonRetrievalArgsCount(__storage.radonRetrieveHash);\r\n        for (uint _ix; _ix < modalUrls.length; _ix ++) {\r\n            _require(\r\n                _max(WitnetBuffer.argsCountOf(abi.encode(modalUrls[_ix])), _commonRetrieveArgsCount) == modalArgs.length,\r\n                \"mismatching args\"\r\n            );\r\n        }\r\n        return __witOracleRadonRegistry.verifyRadonRequest(\r\n            _retrieveHash,\r\n            modalArgs,\r\n            modalUrls,\r\n            __radonAggregateHash,\r\n            __storage.radonTallyHash\r\n        );\r\n    }\r\n\r\n\r\n    /// ===============================================================================================================\r\n    /// --- Internal methods ------------------------------------------------------------------------------------------\r\n\r\n    function _determineSaltAndPepper(\r\n            bytes32 _commonRetrievalHash, \r\n            bytes15 _crowdAttestationTally\r\n        )\r\n        virtual internal view\r\n        returns (bytes32)\r\n    {\r\n        return keccak256(\r\n            abi.encodePacked(\r\n                __SELF,\r\n                _commonRetrievalHash,\r\n                _crowdAttestationTally\r\n            )\r\n        );\r\n    }\r\n\r\n    function _max(uint8 a, uint8 b) internal pure returns (uint8) {\r\n        return (a >= b ? a : b);\r\n    }\r\n}",
  "sourcePath": "C:\\Users\\guill\\github\\guidiaz\\witnet-solidity-bridge\\contracts\\core\\base\\WitOracleRadonRequestFactoryModals.sol",
  "ast": {
    "absolutePath": "project:/contracts/core/base/WitOracleRadonRequestFactoryModals.sol",
    "exportedSymbols": {
      "Bech32": [
        31372
      ],
      "Clonable": [
        45518
      ],
      "IWitAppliance": [
        26514
      ],
      "IWitOracle": [
        26581
      ],
      "IWitOracleAppliance": [
        26593
      ],
      "IWitOracleRadonRegistry": [
        27394
      ],
      "IWitOracleRadonRequestModal": [
        27541
      ],
      "Initializable": [
        267
      ],
      "Secp256k1": [
        32535
      ],
      "WitOracleRadonRequestFactoryModals": [
        16188
      ],
      "Witnet": [
        40741
      ],
      "WitnetBuffer": [
        42631
      ],
      "WitnetCBOR": [
        44174
      ]
    },
    "id": 16189,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 15745,
        "literals": [
          "solidity",
          ">=",
          "0.8",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "35:31:39"
      },
      {
        "absolutePath": "project:/contracts/interfaces/IWitOracle.sol",
        "file": "../../interfaces/IWitOracle.sol",
        "id": 15746,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 16189,
        "sourceUnit": 26582,
        "src": "70:41:39",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/interfaces/IWitOracleAppliance.sol",
        "file": "../../interfaces/IWitOracleAppliance.sol",
        "id": 15747,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 16189,
        "sourceUnit": 26594,
        "src": "113:50:39",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/interfaces/IWitOracleRadonRequestModal.sol",
        "file": "../../interfaces/IWitOracleRadonRequestModal.sol",
        "id": 15748,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 16189,
        "sourceUnit": 27542,
        "src": "165:58:39",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/patterns/Clonable.sol",
        "file": "../../patterns/Clonable.sol",
        "id": 15749,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 16189,
        "sourceUnit": 45519,
        "src": "227:37:39",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": true,
        "baseContracts": [
          {
            "baseName": {
              "id": 15750,
              "name": "Clonable",
              "nameLocations": [
                "338:8:39"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 45518,
              "src": "338:8:39"
            },
            "id": 15751,
            "nodeType": "InheritanceSpecifier",
            "src": "338:8:39"
          },
          {
            "baseName": {
              "id": 15752,
              "name": "IWitOracleAppliance",
              "nameLocations": [
                "357:19:39"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 26593,
              "src": "357:19:39"
            },
            "id": 15753,
            "nodeType": "InheritanceSpecifier",
            "src": "357:19:39"
          },
          {
            "baseName": {
              "id": 15754,
              "name": "IWitOracleRadonRequestModal",
              "nameLocations": [
                "387:27:39"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 27541,
              "src": "387:27:39"
            },
            "id": 15755,
            "nodeType": "InheritanceSpecifier",
            "src": "387:27:39"
          }
        ],
        "canonicalName": "WitOracleRadonRequestFactoryModals",
        "contractDependencies": [],
        "contractKind": "contract",
        "fullyImplemented": false,
        "id": 16188,
        "linearizedBaseContracts": [
          16188,
          27541,
          26593,
          26514,
          45518,
          267
        ],
        "name": "WitOracleRadonRequestFactoryModals",
        "nameLocation": "286:34:39",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "baseFunctions": [
              26478
            ],
            "body": {
              "id": 15779,
              "nodeType": "Block",
              "src": "487:368:39",
              "statements": [
                {
                  "expression": {
                    "components": [
                      {
                        "condition": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 15761,
                            "name": "initialized",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              15989
                            ],
                            "referencedDeclaration": 15989,
                            "src": "520:11:39",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
                              "typeString": "function () view returns (bool)"
                            }
                          },
                          "id": 15762,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "520:13:39",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseExpression": {
                          "commonType": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          },
                          "id": 15775,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "hexValue": "30786562623931353536",
                                "id": 15769,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "625:10:39",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_3954775382_by_1",
                                  "typeString": "int_const 3954775382"
                                },
                                "value": "0xebb91556"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_3954775382_by_1",
                                  "typeString": "int_const 3954775382"
                                }
                              ],
                              "id": 15768,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "618:6:39",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes4_$",
                                "typeString": "type(bytes4)"
                              },
                              "typeName": {
                                "id": 15767,
                                "name": "bytes4",
                                "nodeType": "ElementaryTypeName",
                                "src": "618:6:39",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 15770,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "618:18:39",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "^",
                          "rightExpression": {
                            "arguments": [
                              {
                                "hexValue": "30786136343663636331",
                                "id": 15773,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "749:10:39",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_2789657793_by_1",
                                  "typeString": "int_const 2789657793"
                                },
                                "value": "0xa646ccc1"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_2789657793_by_1",
                                  "typeString": "int_const 2789657793"
                                }
                              ],
                              "id": 15772,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "742:6:39",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes4_$",
                                "typeString": "type(bytes4)"
                              },
                              "typeName": {
                                "id": 15771,
                                "name": "bytes4",
                                "nodeType": "ElementaryTypeName",
                                "src": "742:6:39",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 15774,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "742:18:39",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "src": "618:142:39",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "id": 15776,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "Conditional",
                        "src": "520:240:39",
                        "trueExpression": {
                          "expression": {
                            "arguments": [
                              {
                                "id": 15764,
                                "name": "IWitOracleRadonRequestModal",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 27541,
                                "src": "558:27:39",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_IWitOracleRadonRequestModal_$27541_$",
                                  "typeString": "type(contract IWitOracleRadonRequestModal)"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_type$_t_contract$_IWitOracleRadonRequestModal_$27541_$",
                                  "typeString": "type(contract IWitOracleRadonRequestModal)"
                                }
                              ],
                              "id": 15763,
                              "name": "type",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4294967269,
                              "src": "553:4:39",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
                                "typeString": "function () pure"
                              }
                            },
                            "id": 15765,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "553:33:39",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_meta_type_t_contract$_IWitOracleRadonRequestModal_$27541",
                              "typeString": "type(contract IWitOracleRadonRequestModal)"
                            }
                          },
                          "id": 15766,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "587:11:39",
                          "memberName": "interfaceId",
                          "nodeType": "MemberAccess",
                          "src": "553:45:39",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "id": 15777,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "505:342:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "functionReturnParameters": 15760,
                  "id": 15778,
                  "nodeType": "Return",
                  "src": "498:349:39"
                }
              ]
            },
            "functionSelector": "adb7c3f7",
            "id": 15780,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "specs",
            "nameLocation": "433:5:39",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 15757,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "449:8:39"
            },
            "parameters": {
              "id": 15756,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "438:2:39"
            },
            "returnParameters": {
              "id": 15760,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15759,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 15780,
                  "src": "479:6:39",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 15758,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "479:6:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "478:8:39"
            },
            "scope": 16188,
            "src": "424:431:39",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              26592,
              27540
            ],
            "constant": false,
            "documentation": {
              "id": 15781,
              "nodeType": "StructuredDocumentation",
              "src": "863:111:39",
              "text": "@notice Reference to the Witnet Request Board that all templates built out from this factory will refer to."
            },
            "functionSelector": "1014d375",
            "id": 15786,
            "mutability": "immutable",
            "name": "witOracle",
            "nameLocation": "1064:9:39",
            "nodeType": "VariableDeclaration",
            "overrides": {
              "id": 15785,
              "nodeType": "OverrideSpecifier",
              "overrides": [
                {
                  "id": 15783,
                  "name": "IWitOracleAppliance",
                  "nameLocations": [
                    "1014:19:39"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 26593,
                  "src": "1014:19:39"
                },
                {
                  "id": 15784,
                  "name": "IWitOracleRadonRequestModal",
                  "nameLocations": [
                    "1035:27:39"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 27541,
                  "src": "1035:27:39"
                }
              ],
              "src": "1005:58:39"
            },
            "scope": 16188,
            "src": "980:93:39",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 15782,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "980:7:39",
              "stateMutability": "nonpayable",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 15789,
            "mutability": "immutable",
            "name": "__witOracleRadonRegistry",
            "nameLocation": "1125:24:39",
            "nodeType": "VariableDeclaration",
            "scope": 16188,
            "src": "1082:67:39",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
              "typeString": "contract IWitOracleRadonRegistry"
            },
            "typeName": {
              "id": 15788,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 15787,
                "name": "IWitOracleRadonRegistry",
                "nameLocations": [
                  "1082:23:39"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 27394,
                "src": "1082:23:39"
              },
              "referencedDeclaration": 27394,
              "src": "1082:23:39",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                "typeString": "contract IWitOracleRadonRegistry"
              }
            },
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 15791,
            "mutability": "immutable",
            "name": "__radonAggregateHash",
            "nameLocation": "1183:20:39",
            "nodeType": "VariableDeclaration",
            "scope": 16188,
            "src": "1156:47:39",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes16",
              "typeString": "bytes16"
            },
            "typeName": {
              "id": 15790,
              "name": "bytes16",
              "nodeType": "ElementaryTypeName",
              "src": "1156:7:39",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes16",
                "typeString": "bytes16"
              }
            },
            "visibility": "internal"
          },
          {
            "canonicalName": "WitOracleRadonRequestFactoryModals.Storage",
            "id": 15798,
            "members": [
              {
                "constant": false,
                "id": 15794,
                "mutability": "mutable",
                "name": "radonRetrieveHash",
                "nameLocation": "1318:17:39",
                "nodeType": "VariableDeclaration",
                "scope": 15798,
                "src": "1310:25:39",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 15793,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "1310:7:39",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 15797,
                "mutability": "mutable",
                "name": "radonTallyHash",
                "nameLocation": "1400:14:39",
                "nodeType": "VariableDeclaration",
                "scope": 15798,
                "src": "1392:22:39",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes16",
                  "typeString": "bytes16"
                },
                "typeName": {
                  "id": 15796,
                  "name": "bytes16",
                  "nodeType": "ElementaryTypeName",
                  "src": "1392:7:39",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes16",
                    "typeString": "bytes16"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Storage",
            "nameLocation": "1223:7:39",
            "nodeType": "StructDefinition",
            "scope": 16188,
            "src": "1216:206:39",
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 15801,
            "mutability": "mutable",
            "name": "__storage",
            "nameLocation": "1444:9:39",
            "nodeType": "VariableDeclaration",
            "scope": 16188,
            "src": "1428:25:39",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_struct$_Storage_$15798_storage",
              "typeString": "struct WitOracleRadonRequestFactoryModals.Storage"
            },
            "typeName": {
              "id": 15800,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 15799,
                "name": "Storage",
                "nameLocations": [
                  "1428:7:39"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 15798,
                "src": "1428:7:39"
              },
              "referencedDeclaration": 15798,
              "src": "1428:7:39",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_Storage_$15798_storage_ptr",
                "typeString": "struct WitOracleRadonRequestFactoryModals.Storage"
              }
            },
            "visibility": "private"
          },
          {
            "body": {
              "id": 15855,
              "nodeType": "Block",
              "src": "1494:471:39",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 15818,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 15812,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 15807,
                            "name": "_witOracle",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 15803,
                            "src": "1514:10:39",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "arguments": [
                              {
                                "hexValue": "30",
                                "id": 15810,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "1536:1:39",
                                "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": 15809,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "1528:7:39",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 15808,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "1528:7:39",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 15811,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1528:10:39",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "1514:24:39",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 15817,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "expression": {
                                "id": 15813,
                                "name": "_witOracle",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 15803,
                                "src": "1542:10:39",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "id": 15814,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "1553:4:39",
                              "memberName": "code",
                              "nodeType": "MemberAccess",
                              "src": "1542:15:39",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            },
                            "id": 15815,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "1558:6:39",
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "src": "1542:22:39",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "hexValue": "30",
                            "id": 15816,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1567:1:39",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "1542:26:39",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "1514:54:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "696e6578697374656e74205769742f4f7261636c65",
                        "id": 15819,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1570:23:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_8cdff1eb7e6010d2d924049735103f14da8b92458654dcf8c00fdf958d5d8b53",
                          "typeString": "literal_string \"inexistent Wit/Oracle\""
                        },
                        "value": "inexistent Wit/Oracle"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_8cdff1eb7e6010d2d924049735103f14da8b92458654dcf8c00fdf958d5d8b53",
                          "typeString": "literal_string \"inexistent Wit/Oracle\""
                        }
                      ],
                      "id": 15806,
                      "name": "_require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26494,
                      "src": "1505:8:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) view"
                      }
                    },
                    "id": 15820,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1505:89:39",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 15821,
                  "nodeType": "ExpressionStatement",
                  "src": "1505:89:39"
                },
                {
                  "expression": {
                    "id": 15824,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 15822,
                      "name": "witOracle",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15786,
                      "src": "1605:9:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 15823,
                      "name": "_witOracle",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15803,
                      "src": "1617:10:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "1605:22:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 15825,
                  "nodeType": "ExpressionStatement",
                  "src": "1605:22:39"
                },
                {
                  "expression": {
                    "id": 15832,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 15826,
                      "name": "__witOracleRadonRegistry",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15789,
                      "src": "1638:24:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                        "typeString": "contract IWitOracleRadonRegistry"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "arguments": [
                            {
                              "id": 15828,
                              "name": "witOracle",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 15786,
                              "src": "1676:9:39",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 15827,
                            "name": "IWitOracle",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 26581,
                            "src": "1665:10:39",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IWitOracle_$26581_$",
                              "typeString": "type(contract IWitOracle)"
                            }
                          },
                          "id": 15829,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1665:21:39",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_IWitOracle_$26581",
                            "typeString": "contract IWitOracle"
                          }
                        },
                        "id": 15830,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1687:8:39",
                        "memberName": "registry",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 26580,
                        "src": "1665:30:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IWitOracleRadonRegistry_$27394_$",
                          "typeString": "function () view external returns (contract IWitOracleRadonRegistry)"
                        }
                      },
                      "id": 15831,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1665:32:39",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                        "typeString": "contract IWitOracleRadonRegistry"
                      }
                    },
                    "src": "1638:59:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                      "typeString": "contract IWitOracleRadonRegistry"
                    }
                  },
                  "id": 15833,
                  "nodeType": "ExpressionStatement",
                  "src": "1638:59:39"
                },
                {
                  "expression": {
                    "id": 15853,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 15834,
                      "name": "__radonAggregateHash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15791,
                      "src": "1708:20:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes16",
                        "typeString": "bytes16"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "expression": {
                                    "expression": {
                                      "id": 15841,
                                      "name": "Witnet",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 40741,
                                      "src": "1844:6:39",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                        "typeString": "type(library Witnet)"
                                      }
                                    },
                                    "id": 15842,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "1851:18:39",
                                    "memberName": "RadonReduceOpcodes",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37762,
                                    "src": "1844:25:39",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_enum$_RadonReduceOpcodes_$37762_$",
                                      "typeString": "type(enum Witnet.RadonReduceOpcodes)"
                                    }
                                  },
                                  "id": 15843,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "1870:4:39",
                                  "memberName": "Mode",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 37752,
                                  "src": "1844:30:39",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_RadonReduceOpcodes_$37762",
                                    "typeString": "enum Witnet.RadonReduceOpcodes"
                                  }
                                },
                                {
                                  "arguments": [
                                    {
                                      "hexValue": "30",
                                      "id": 15848,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "1927:1:39",
                                      "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": 15847,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "NewExpression",
                                    "src": "1902:24:39",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_RadonFilter_$37727_memory_ptr_$dyn_memory_ptr_$",
                                      "typeString": "function (uint256) pure returns (struct Witnet.RadonFilter memory[] memory)"
                                    },
                                    "typeName": {
                                      "baseType": {
                                        "id": 15845,
                                        "nodeType": "UserDefinedTypeName",
                                        "pathNode": {
                                          "id": 15844,
                                          "name": "Witnet.RadonFilter",
                                          "nameLocations": [
                                            "1906:6:39",
                                            "1913:11:39"
                                          ],
                                          "nodeType": "IdentifierPath",
                                          "referencedDeclaration": 37727,
                                          "src": "1906:18:39"
                                        },
                                        "referencedDeclaration": 37727,
                                        "src": "1906:18:39",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_RadonFilter_$37727_storage_ptr",
                                          "typeString": "struct Witnet.RadonFilter"
                                        }
                                      },
                                      "id": 15846,
                                      "nodeType": "ArrayTypeName",
                                      "src": "1906:20:39",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_struct$_RadonFilter_$37727_storage_$dyn_storage_ptr",
                                        "typeString": "struct Witnet.RadonFilter[]"
                                      }
                                    }
                                  },
                                  "id": 15849,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "1902:27:39",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_struct$_RadonFilter_$37727_memory_ptr_$dyn_memory_ptr",
                                    "typeString": "struct Witnet.RadonFilter memory[] memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_enum$_RadonReduceOpcodes_$37762",
                                    "typeString": "enum Witnet.RadonReduceOpcodes"
                                  },
                                  {
                                    "typeIdentifier": "t_array$_t_struct$_RadonFilter_$37727_memory_ptr_$dyn_memory_ptr",
                                    "typeString": "struct Witnet.RadonFilter memory[] memory"
                                  }
                                ],
                                "expression": {
                                  "id": 15839,
                                  "name": "Witnet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 40741,
                                  "src": "1797:6:39",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                    "typeString": "type(library Witnet)"
                                  }
                                },
                                "id": 15840,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "1804:12:39",
                                "memberName": "RadonReducer",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 37748,
                                "src": "1797:19:39",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_struct$_RadonReducer_$37748_storage_ptr_$",
                                  "typeString": "type(struct Witnet.RadonReducer storage pointer)"
                                }
                              },
                              "id": 15850,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "structConstructorCall",
                              "lValueRequested": false,
                              "nameLocations": [
                                "1836:6:39",
                                "1893:7:39"
                              ],
                              "names": [
                                "opcode",
                                "filters"
                              ],
                              "nodeType": "FunctionCall",
                              "src": "1797:148:39",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RadonReducer_$37748_memory_ptr",
                                "typeString": "struct Witnet.RadonReducer memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_struct$_RadonReducer_$37748_memory_ptr",
                                "typeString": "struct Witnet.RadonReducer memory"
                              }
                            ],
                            "expression": {
                              "id": 15837,
                              "name": "__witOracleRadonRegistry",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 15789,
                              "src": "1739:24:39",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                                "typeString": "contract IWitOracleRadonRegistry"
                              }
                            },
                            "id": 15838,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "1764:18:39",
                            "memberName": "verifyRadonReducer",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 27287,
                            "src": "1739:43:39",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_struct$_RadonReducer_$37748_memory_ptr_$returns$_t_bytes32_$",
                              "typeString": "function (struct Witnet.RadonReducer memory) external returns (bytes32)"
                            }
                          },
                          "id": 15851,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1739:217:39",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "id": 15836,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "1731:7:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_bytes16_$",
                          "typeString": "type(bytes16)"
                        },
                        "typeName": {
                          "id": 15835,
                          "name": "bytes16",
                          "nodeType": "ElementaryTypeName",
                          "src": "1731:7:39",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 15852,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1731:226:39",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes16",
                        "typeString": "bytes16"
                      }
                    },
                    "src": "1708:249:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes16",
                      "typeString": "bytes16"
                    }
                  },
                  "id": 15854,
                  "nodeType": "ExpressionStatement",
                  "src": "1708:249:39"
                }
              ]
            },
            "id": 15856,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 15804,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15803,
                  "mutability": "mutable",
                  "name": "_witOracle",
                  "nameLocation": "1482:10:39",
                  "nodeType": "VariableDeclaration",
                  "scope": 15856,
                  "src": "1474:18:39",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 15802,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1474:7:39",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1473:20:39"
            },
            "returnParameters": {
              "id": 15805,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1494:0:39"
            },
            "scope": 16188,
            "src": "1462:503:39",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 15881,
              "nodeType": "Block",
              "src": "2218:328:39",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 15877,
                        "name": "_commonRetrievalHash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 15858,
                        "src": "2466:20:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 15878,
                        "name": "_crowdAttestationTallyHash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 15860,
                        "src": "2501:26:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes15",
                          "typeString": "bytes15"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes15",
                          "typeString": "bytes15"
                        }
                      ],
                      "expression": {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "id": 15871,
                                    "name": "_commonRetrievalHash",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 15858,
                                    "src": "2348:20:39",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  {
                                    "id": 15872,
                                    "name": "_crowdAttestationTallyHash",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 15860,
                                    "src": "2387:26:39",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes15",
                                      "typeString": "bytes15"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    },
                                    {
                                      "typeIdentifier": "t_bytes15",
                                      "typeString": "bytes15"
                                    }
                                  ],
                                  "id": 15870,
                                  "name": "_determineSaltAndPepper",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 16169,
                                  "src": "2306:23:39",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes15_$returns$_t_bytes32_$",
                                    "typeString": "function (bytes32,bytes15) view returns (bytes32)"
                                  }
                                },
                                "id": 15873,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2306:122:39",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 15869,
                              "name": "__cloneDeterministic",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 45486,
                              "src": "2285:20:39",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_address_$",
                                "typeString": "function (bytes32) returns (address)"
                              }
                            },
                            "id": 15874,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2285:144:39",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 15868,
                          "name": "WitOracleRadonRequestFactoryModals",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 16188,
                          "src": "2236:34:39",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitOracleRadonRequestFactoryModals_$16188_$",
                            "typeString": "type(contract WitOracleRadonRequestFactoryModals)"
                          }
                        },
                        "id": 15875,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2236:204:39",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_WitOracleRadonRequestFactoryModals_$16188",
                          "typeString": "contract WitOracleRadonRequestFactoryModals"
                        }
                      },
                      "id": 15876,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2441:10:39",
                      "memberName": "initialize",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 15972,
                      "src": "2236:215:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes15_$returns$_t_contract$_IWitOracleRadonRequestModal_$27541_$",
                        "typeString": "function (bytes32,bytes15) external returns (contract IWitOracleRadonRequestModal)"
                      }
                    },
                    "id": 15879,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2236:302:39",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IWitOracleRadonRequestModal_$27541",
                      "typeString": "contract IWitOracleRadonRequestModal"
                    }
                  },
                  "functionReturnParameters": 15867,
                  "id": 15880,
                  "nodeType": "Return",
                  "src": "2229:309:39"
                }
              ]
            },
            "functionSelector": "ebb91556",
            "id": 15882,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 15863,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 15862,
                  "name": "notOnClones",
                  "nameLocations": [
                    "2154:11:39"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 45382,
                  "src": "2154:11:39"
                },
                "nodeType": "ModifierInvocation",
                "src": "2154:11:39"
              }
            ],
            "name": "buildRadonRequestModal",
            "nameLocation": "1982:22:39",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 15861,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15858,
                  "mutability": "mutable",
                  "name": "_commonRetrievalHash",
                  "nameLocation": "2027:20:39",
                  "nodeType": "VariableDeclaration",
                  "scope": 15882,
                  "src": "2019:28:39",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 15857,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2019:7:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 15860,
                  "mutability": "mutable",
                  "name": "_crowdAttestationTallyHash",
                  "nameLocation": "2071:26:39",
                  "nodeType": "VariableDeclaration",
                  "scope": 15882,
                  "src": "2063:34:39",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes15",
                    "typeString": "bytes15"
                  },
                  "typeName": {
                    "id": 15859,
                    "name": "bytes15",
                    "nodeType": "ElementaryTypeName",
                    "src": "2063:7:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes15",
                      "typeString": "bytes15"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2004:104:39"
            },
            "returnParameters": {
              "id": 15867,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15866,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 15882,
                  "src": "2184:27:39",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IWitOracleRadonRequestModal_$27541",
                    "typeString": "contract IWitOracleRadonRequestModal"
                  },
                  "typeName": {
                    "id": 15865,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 15864,
                      "name": "IWitOracleRadonRequestModal",
                      "nameLocations": [
                        "2184:27:39"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 27541,
                      "src": "2184:27:39"
                    },
                    "referencedDeclaration": 27541,
                    "src": "2184:27:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IWitOracleRadonRequestModal_$27541",
                      "typeString": "contract IWitOracleRadonRequestModal"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2183:29:39"
            },
            "scope": 16188,
            "src": "1973:573:39",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "body": {
              "id": 15924,
              "nodeType": "Block",
              "src": "2787:381:39",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "hexValue": "30786666",
                                            "id": 15904,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "2895:4:39",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_rational_255_by_1",
                                              "typeString": "int_const 255"
                                            },
                                            "value": "0xff"
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_rational_255_by_1",
                                              "typeString": "int_const 255"
                                            }
                                          ],
                                          "id": 15903,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "2888:6:39",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_bytes1_$",
                                            "typeString": "type(bytes1)"
                                          },
                                          "typeName": {
                                            "id": 15902,
                                            "name": "bytes1",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "2888:6:39",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 15905,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2888:12:39",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        }
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "id": 15908,
                                            "name": "this",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4294967268,
                                            "src": "2927:4:39",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_contract$_WitOracleRadonRequestFactoryModals_$16188",
                                              "typeString": "contract WitOracleRadonRequestFactoryModals"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_contract$_WitOracleRadonRequestFactoryModals_$16188",
                                              "typeString": "contract WitOracleRadonRequestFactoryModals"
                                            }
                                          ],
                                          "id": 15907,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "2919:7:39",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_address_$",
                                            "typeString": "type(address)"
                                          },
                                          "typeName": {
                                            "id": 15906,
                                            "name": "address",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "2919:7:39",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 15909,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2919:13:39",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "id": 15911,
                                            "name": "_commonRetrievalHash",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 15884,
                                            "src": "2997:20:39",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes32",
                                              "typeString": "bytes32"
                                            }
                                          },
                                          {
                                            "id": 15912,
                                            "name": "_crowdAttestationTallyHash",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 15886,
                                            "src": "3040:26:39",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes15",
                                              "typeString": "bytes15"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_bytes32",
                                              "typeString": "bytes32"
                                            },
                                            {
                                              "typeIdentifier": "t_bytes15",
                                              "typeString": "bytes15"
                                            }
                                          ],
                                          "id": 15910,
                                          "name": "_determineSaltAndPepper",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 16169,
                                          "src": "2951:23:39",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes15_$returns$_t_bytes32_$",
                                            "typeString": "function (bytes32,bytes15) view returns (bytes32)"
                                          }
                                        },
                                        "id": 15913,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2951:134:39",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [],
                                            "expression": {
                                              "argumentTypes": [],
                                              "id": 15915,
                                              "name": "_cloneBytecode",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 45504,
                                              "src": "3114:14:39",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes_memory_ptr_$",
                                                "typeString": "function () view returns (bytes memory)"
                                              }
                                            },
                                            "id": 15916,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "nameLocations": [],
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "3114:16:39",
                                            "tryCall": false,
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes_memory_ptr",
                                              "typeString": "bytes memory"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_bytes_memory_ptr",
                                              "typeString": "bytes memory"
                                            }
                                          ],
                                          "id": 15914,
                                          "name": "keccak256",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4294967288,
                                          "src": "3104:9:39",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                            "typeString": "function (bytes memory) pure returns (bytes32)"
                                          }
                                        },
                                        "id": 15917,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3104:27:39",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        },
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "expression": {
                                        "id": 15900,
                                        "name": "abi",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4294967295,
                                        "src": "2853:3:39",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_magic_abi",
                                          "typeString": "abi"
                                        }
                                      },
                                      "id": 15901,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "2857:12:39",
                                      "memberName": "encodePacked",
                                      "nodeType": "MemberAccess",
                                      "src": "2853:16:39",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                        "typeString": "function () pure returns (bytes memory)"
                                      }
                                    },
                                    "id": 15918,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "2853:293:39",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  ],
                                  "id": 15899,
                                  "name": "keccak256",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4294967288,
                                  "src": "2829:9:39",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                    "typeString": "function (bytes memory) pure returns (bytes32)"
                                  }
                                },
                                "id": 15919,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2829:328:39",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 15898,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "2821:7:39",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint256_$",
                                "typeString": "type(uint256)"
                              },
                              "typeName": {
                                "id": 15897,
                                "name": "uint256",
                                "nodeType": "ElementaryTypeName",
                                "src": "2821:7:39",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 15920,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2821:337:39",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 15896,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "2813:7:39",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_uint160_$",
                            "typeString": "type(uint160)"
                          },
                          "typeName": {
                            "id": 15895,
                            "name": "uint160",
                            "nodeType": "ElementaryTypeName",
                            "src": "2813:7:39",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 15921,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2813:346:39",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint160",
                          "typeString": "uint160"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint160",
                          "typeString": "uint160"
                        }
                      ],
                      "id": 15894,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "2805:7:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_address_$",
                        "typeString": "type(address)"
                      },
                      "typeName": {
                        "id": 15893,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "2805:7:39",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 15922,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2805:355:39",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 15892,
                  "id": 15923,
                  "nodeType": "Return",
                  "src": "2798:362:39"
                }
              ]
            },
            "functionSelector": "a646ccc1",
            "id": 15925,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 15889,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 15888,
                  "name": "notOnClones",
                  "nameLocations": [
                    "2743:11:39"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 45382,
                  "src": "2743:11:39"
                },
                "nodeType": "ModifierInvocation",
                "src": "2743:11:39"
              }
            ],
            "name": "determineAddress",
            "nameLocation": "2563:16:39",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 15887,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15884,
                  "mutability": "mutable",
                  "name": "_commonRetrievalHash",
                  "nameLocation": "2602:20:39",
                  "nodeType": "VariableDeclaration",
                  "scope": 15925,
                  "src": "2594:28:39",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 15883,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2594:7:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 15886,
                  "mutability": "mutable",
                  "name": "_crowdAttestationTallyHash",
                  "nameLocation": "2645:26:39",
                  "nodeType": "VariableDeclaration",
                  "scope": 15925,
                  "src": "2637:34:39",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes15",
                    "typeString": "bytes15"
                  },
                  "typeName": {
                    "id": 15885,
                    "name": "bytes15",
                    "nodeType": "ElementaryTypeName",
                    "src": "2637:7:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes15",
                      "typeString": "bytes15"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2579:103:39"
            },
            "returnParameters": {
              "id": 15892,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15891,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 15925,
                  "src": "2773:7:39",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 15890,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2773:7:39",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2772:9:39"
            },
            "scope": 16188,
            "src": "2554:614:39",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "body": {
              "id": 15971,
              "nodeType": "Block",
              "src": "3406:382:39",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        },
                        "id": 15943,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [
                            {
                              "id": 15940,
                              "name": "_commonRetrievalHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 15927,
                              "src": "3482:20:39",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "expression": {
                              "id": 15938,
                              "name": "__witOracleRadonRegistry",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 15789,
                              "src": "3427:24:39",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                                "typeString": "contract IWitOracleRadonRegistry"
                              }
                            },
                            "id": 15939,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "3452:29:39",
                            "memberName": "lookupRadonRetrievalArgsCount",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 27269,
                            "src": "3427:54:39",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint8_$",
                              "typeString": "function (bytes32) view external returns (uint8)"
                            }
                          },
                          "id": 15941,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3427:76:39",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "hexValue": "31",
                          "id": 15942,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3507:1:39",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "3427:81:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 15937,
                      "name": "assert",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4294967293,
                      "src": "3420:6:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 15944,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3420:89:39",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 15945,
                  "nodeType": "ExpressionStatement",
                  "src": "3420:89:39"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 15949,
                        "name": "_crowdAttestationTallyHash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 15929,
                        "src": "3568:26:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes15",
                          "typeString": "bytes15"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes15",
                          "typeString": "bytes15"
                        }
                      ],
                      "expression": {
                        "id": 15946,
                        "name": "__witOracleRadonRegistry",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 15789,
                        "src": "3520:24:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                          "typeString": "contract IWitOracleRadonRegistry"
                        }
                      },
                      "id": 15948,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "3545:22:39",
                      "memberName": "isVerifiedRadonReducer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27168,
                      "src": "3520:47:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bool_$",
                        "typeString": "function (bytes32) view external returns (bool)"
                      }
                    },
                    "id": 15950,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3520:75:39",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 15951,
                  "nodeType": "ExpressionStatement",
                  "src": "3520:75:39"
                },
                {
                  "expression": {
                    "id": 15956,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 15952,
                        "name": "__storage",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 15801,
                        "src": "3606:9:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$15798_storage",
                          "typeString": "struct WitOracleRadonRequestFactoryModals.Storage storage ref"
                        }
                      },
                      "id": 15954,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "3616:17:39",
                      "memberName": "radonRetrieveHash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 15794,
                      "src": "3606:27:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 15955,
                      "name": "_commonRetrievalHash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15927,
                      "src": "3636:20:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "3606:50:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 15957,
                  "nodeType": "ExpressionStatement",
                  "src": "3606:50:39"
                },
                {
                  "expression": {
                    "id": 15962,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 15958,
                        "name": "__storage",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 15801,
                        "src": "3667:9:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$15798_storage",
                          "typeString": "struct WitOracleRadonRequestFactoryModals.Storage storage ref"
                        }
                      },
                      "id": 15960,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "3677:14:39",
                      "memberName": "radonTallyHash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 15797,
                      "src": "3667:24:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes16",
                        "typeString": "bytes16"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 15961,
                      "name": "_crowdAttestationTallyHash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15929,
                      "src": "3694:26:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes15",
                        "typeString": "bytes15"
                      }
                    },
                    "src": "3667:53:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes16",
                      "typeString": "bytes16"
                    }
                  },
                  "id": 15963,
                  "nodeType": "ExpressionStatement",
                  "src": "3667:53:39"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 15967,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4294967268,
                            "src": "3774:4:39",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_WitOracleRadonRequestFactoryModals_$16188",
                              "typeString": "contract WitOracleRadonRequestFactoryModals"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_WitOracleRadonRequestFactoryModals_$16188",
                              "typeString": "contract WitOracleRadonRequestFactoryModals"
                            }
                          ],
                          "id": 15966,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "3766:7:39",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 15965,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "3766:7:39",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 15968,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3766:13:39",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 15964,
                      "name": "IWitOracleRadonRequestModal",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 27541,
                      "src": "3738:27:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_IWitOracleRadonRequestModal_$27541_$",
                        "typeString": "type(contract IWitOracleRadonRequestModal)"
                      }
                    },
                    "id": 15969,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3738:42:39",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IWitOracleRadonRequestModal_$27541",
                      "typeString": "contract IWitOracleRadonRequestModal"
                    }
                  },
                  "functionReturnParameters": 15936,
                  "id": 15970,
                  "nodeType": "Return",
                  "src": "3731:49:39"
                }
              ]
            },
            "functionSelector": "19c7ecfc",
            "id": 15972,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 15932,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 15931,
                  "name": "initializer",
                  "nameLocations": [
                    "3342:11:39"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 107,
                  "src": "3342:11:39"
                },
                "nodeType": "ModifierInvocation",
                "src": "3342:11:39"
              }
            ],
            "name": "initialize",
            "nameLocation": "3185:10:39",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 15930,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15927,
                  "mutability": "mutable",
                  "name": "_commonRetrievalHash",
                  "nameLocation": "3218:20:39",
                  "nodeType": "VariableDeclaration",
                  "scope": 15972,
                  "src": "3210:28:39",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 15926,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3210:7:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 15929,
                  "mutability": "mutable",
                  "name": "_crowdAttestationTallyHash",
                  "nameLocation": "3261:26:39",
                  "nodeType": "VariableDeclaration",
                  "scope": 15972,
                  "src": "3253:34:39",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes15",
                    "typeString": "bytes15"
                  },
                  "typeName": {
                    "id": 15928,
                    "name": "bytes15",
                    "nodeType": "ElementaryTypeName",
                    "src": "3253:7:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes15",
                      "typeString": "bytes15"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3195:103:39"
            },
            "returnParameters": {
              "id": 15936,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15935,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 15972,
                  "src": "3372:27:39",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IWitOracleRadonRequestModal_$27541",
                    "typeString": "contract IWitOracleRadonRequestModal"
                  },
                  "typeName": {
                    "id": 15934,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 15933,
                      "name": "IWitOracleRadonRequestModal",
                      "nameLocations": [
                        "3372:27:39"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 27541,
                      "src": "3372:27:39"
                    },
                    "referencedDeclaration": 27541,
                    "src": "3372:27:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IWitOracleRadonRequestModal_$27541",
                      "typeString": "contract IWitOracleRadonRequestModal"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3371:29:39"
            },
            "scope": 16188,
            "src": "3176:612:39",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              45420
            ],
            "body": {
              "id": 15988,
              "nodeType": "Block",
              "src": "4262:67:39",
              "statements": [
                {
                  "expression": {
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 15986,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 15980,
                        "name": "__storage",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 15801,
                        "src": "4280:9:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$15798_storage",
                          "typeString": "struct WitOracleRadonRequestFactoryModals.Storage storage ref"
                        }
                      },
                      "id": 15981,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "4290:17:39",
                      "memberName": "radonRetrieveHash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 15794,
                      "src": "4280:27:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "arguments": [
                        {
                          "hexValue": "30",
                          "id": 15984,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4319:1:39",
                          "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": 15983,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "4311:7:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_bytes32_$",
                          "typeString": "type(bytes32)"
                        },
                        "typeName": {
                          "id": 15982,
                          "name": "bytes32",
                          "nodeType": "ElementaryTypeName",
                          "src": "4311:7:39",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 15985,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4311:10:39",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "4280:41:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 15979,
                  "id": 15987,
                  "nodeType": "Return",
                  "src": "4273:48:39"
                }
              ]
            },
            "documentation": {
              "id": 15973,
              "nodeType": "StructuredDocumentation",
              "src": "4042:105:39",
              "text": "@notice Tells whether a WitOracleRequest or a WitOracleRequestTemplate has been properly initialized."
            },
            "functionSelector": "158ef93e",
            "id": 15989,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "initialized",
            "nameLocation": "4162:11:39",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 15976,
              "nodeType": "OverrideSpecifier",
              "overrides": [
                {
                  "id": 15975,
                  "name": "Clonable",
                  "nameLocations": [
                    "4202:8:39"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 45518,
                  "src": "4202:8:39"
                }
              ],
              "src": "4193:18:39"
            },
            "parameters": {
              "id": 15974,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4173:2:39"
            },
            "returnParameters": {
              "id": 15979,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15978,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 15989,
                  "src": "4251:4:39",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 15977,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "4251:4:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4250:6:39"
            },
            "scope": 16188,
            "src": "4153:176:39",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              27498
            ],
            "body": {
              "id": 16005,
              "nodeType": "Block",
              "src": "4746:119:39",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 16001,
                          "name": "__storage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15801,
                          "src": "4822:9:39",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Storage_$15798_storage",
                            "typeString": "struct WitOracleRadonRequestFactoryModals.Storage storage ref"
                          }
                        },
                        "id": 16002,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "4832:14:39",
                        "memberName": "radonTallyHash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 15797,
                        "src": "4822:24:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes16",
                          "typeString": "bytes16"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes16",
                          "typeString": "bytes16"
                        }
                      ],
                      "expression": {
                        "id": 15999,
                        "name": "__witOracleRadonRegistry",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 15789,
                        "src": "4764:24:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                          "typeString": "contract IWitOracleRadonRegistry"
                        }
                      },
                      "id": 16000,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "4789:18:39",
                      "memberName": "lookupRadonReducer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27194,
                      "src": "4764:43:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_RadonReducer_$37748_memory_ptr_$",
                        "typeString": "function (bytes32) view external returns (struct Witnet.RadonReducer memory)"
                      }
                    },
                    "id": 16003,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4764:93:39",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonReducer_$37748_memory_ptr",
                      "typeString": "struct Witnet.RadonReducer memory"
                    }
                  },
                  "functionReturnParameters": 15998,
                  "id": 16004,
                  "nodeType": "Return",
                  "src": "4757:100:39"
                }
              ]
            },
            "documentation": {
              "id": 15990,
              "nodeType": "StructuredDocumentation",
              "src": "4339:236:39",
              "text": "===============================================================================================================\n --- IWitOracleRadonRequestModal -------------------------------------------------------------------------------"
            },
            "functionSelector": "0f0adf5b",
            "id": 16006,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 15994,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 15993,
                  "name": "onlyOnClones",
                  "nameLocations": [
                    "4682:12:39"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 45371,
                  "src": "4682:12:39"
                },
                "nodeType": "ModifierInvocation",
                "src": "4682:12:39"
              }
            ],
            "name": "getCrowdAttestationTally",
            "nameLocation": "4596:24:39",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 15992,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "4640:8:39"
            },
            "parameters": {
              "id": 15991,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4620:2:39"
            },
            "returnParameters": {
              "id": 15998,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15997,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 16006,
                  "src": "4713:26:39",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonReducer_$37748_memory_ptr",
                    "typeString": "struct Witnet.RadonReducer"
                  },
                  "typeName": {
                    "id": 15996,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 15995,
                      "name": "Witnet.RadonReducer",
                      "nameLocations": [
                        "4713:6:39",
                        "4720:12:39"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37748,
                      "src": "4713:19:39"
                    },
                    "referencedDeclaration": 37748,
                    "src": "4713:19:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonReducer_$37748_storage_ptr",
                      "typeString": "struct Witnet.RadonReducer"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4712:28:39"
            },
            "scope": 16188,
            "src": "4587:278:39",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              27504
            ],
            "body": {
              "id": 16021,
              "nodeType": "Block",
              "src": "5020:138:39",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 16017,
                          "name": "__storage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15801,
                          "src": "5112:9:39",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Storage_$15798_storage",
                            "typeString": "struct WitOracleRadonRequestFactoryModals.Storage storage ref"
                          }
                        },
                        "id": 16018,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "5122:17:39",
                        "memberName": "radonRetrieveHash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 15794,
                        "src": "5112:27:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "id": 16015,
                        "name": "__witOracleRadonRegistry",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 15789,
                        "src": "5038:24:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                          "typeString": "contract IWitOracleRadonRegistry"
                        }
                      },
                      "id": 16016,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "5063:34:39",
                      "memberName": "lookupRadonRetrievalResultDataType",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27278,
                      "src": "5038:59:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_enum$_RadonDataTypes_$37720_$",
                        "typeString": "function (bytes32) view external returns (enum Witnet.RadonDataTypes)"
                      }
                    },
                    "id": 16019,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5038:112:39",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_RadonDataTypes_$37720",
                      "typeString": "enum Witnet.RadonDataTypes"
                    }
                  },
                  "functionReturnParameters": 16014,
                  "id": 16020,
                  "nodeType": "Return",
                  "src": "5031:119:39"
                }
              ]
            },
            "functionSelector": "7f2b1d77",
            "id": 16022,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 16010,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 16009,
                  "name": "onlyOnClones",
                  "nameLocations": [
                    "4961:12:39"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 45371,
                  "src": "4961:12:39"
                },
                "nodeType": "ModifierInvocation",
                "src": "4961:12:39"
              }
            ],
            "name": "getDataResultType",
            "nameLocation": "4882:17:39",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 16008,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "4919:8:39"
            },
            "parameters": {
              "id": 16007,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4899:2:39"
            },
            "returnParameters": {
              "id": 16014,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 16013,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 16022,
                  "src": "4992:21:39",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_RadonDataTypes_$37720",
                    "typeString": "enum Witnet.RadonDataTypes"
                  },
                  "typeName": {
                    "id": 16012,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 16011,
                      "name": "Witnet.RadonDataTypes",
                      "nameLocations": [
                        "4992:6:39",
                        "4999:14:39"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37720,
                      "src": "4992:21:39"
                    },
                    "referencedDeclaration": 37720,
                    "src": "4992:21:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_RadonDataTypes_$37720",
                      "typeString": "enum Witnet.RadonDataTypes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4991:23:39"
            },
            "scope": 16188,
            "src": "4873:285:39",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              27511
            ],
            "body": {
              "id": 16047,
              "nodeType": "Block",
              "src": "5320:195:39",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "id": 16037,
                                "name": "url",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 16024,
                                "src": "5393:3:39",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_calldata_ptr",
                                  "typeString": "string calldata"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_calldata_ptr",
                                  "typeString": "string calldata"
                                }
                              ],
                              "expression": {
                                "id": 16035,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967295,
                                "src": "5382:3:39",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 16036,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "5386:6:39",
                              "memberName": "encode",
                              "nodeType": "MemberAccess",
                              "src": "5382:10:39",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function () pure returns (bytes memory)"
                              }
                            },
                            "id": 16038,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5382:15:39",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "expression": {
                            "id": 16033,
                            "name": "WitnetBuffer",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 42631,
                            "src": "5357:12:39",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_WitnetBuffer_$42631_$",
                              "typeString": "type(library WitnetBuffer)"
                            }
                          },
                          "id": 16034,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "5370:11:39",
                          "memberName": "argsCountOf",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 41999,
                          "src": "5357:24:39",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint8_$",
                            "typeString": "function (bytes memory) pure returns (uint8)"
                          }
                        },
                        "id": 16039,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5357:41:39",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "expression": {
                              "id": 16042,
                              "name": "__storage",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 15801,
                              "src": "5468:9:39",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Storage_$15798_storage",
                                "typeString": "struct WitOracleRadonRequestFactoryModals.Storage storage ref"
                              }
                            },
                            "id": 16043,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "5478:17:39",
                            "memberName": "radonRetrieveHash",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 15794,
                            "src": "5468:27:39",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "id": 16040,
                            "name": "__witOracleRadonRegistry",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 15789,
                            "src": "5413:24:39",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                              "typeString": "contract IWitOracleRadonRegistry"
                            }
                          },
                          "id": 16041,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "5438:29:39",
                          "memberName": "lookupRadonRetrievalArgsCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 27269,
                          "src": "5413:54:39",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint8_$",
                            "typeString": "function (bytes32) view external returns (uint8)"
                          }
                        },
                        "id": 16044,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5413:83:39",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        },
                        {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      ],
                      "id": 16032,
                      "name": "_max",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 16187,
                      "src": "5338:4:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint8_$returns$_t_uint8_$",
                        "typeString": "function (uint8,uint8) pure returns (uint8)"
                      }
                    },
                    "id": 16045,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5338:169:39",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "functionReturnParameters": 16031,
                  "id": 16046,
                  "nodeType": "Return",
                  "src": "5331:176:39"
                }
              ]
            },
            "functionSelector": "6dbca663",
            "id": 16048,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 16028,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 16027,
                  "name": "onlyOnClones",
                  "nameLocations": [
                    "5277:12:39"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 45371,
                  "src": "5277:12:39"
                },
                "nodeType": "ModifierInvocation",
                "src": "5277:12:39"
              }
            ],
            "name": "getDataSourceArgsCount",
            "nameLocation": "5175:22:39",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 16026,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "5236:8:39"
            },
            "parameters": {
              "id": 16025,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 16024,
                  "mutability": "mutable",
                  "name": "url",
                  "nameLocation": "5214:3:39",
                  "nodeType": "VariableDeclaration",
                  "scope": 16048,
                  "src": "5198:19:39",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 16023,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5198:6:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5197:21:39"
            },
            "returnParameters": {
              "id": 16031,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 16030,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 16048,
                  "src": "5308:5:39",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 16029,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "5308:5:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5307:7:39"
            },
            "scope": 16188,
            "src": "5166:349:39",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              27517
            ],
            "body": {
              "id": 16062,
              "nodeType": "Block",
              "src": "5682:115:39",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 16059,
                        "name": "__radonAggregateHash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 15791,
                        "src": "5758:20:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes16",
                          "typeString": "bytes16"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes16",
                          "typeString": "bytes16"
                        }
                      ],
                      "expression": {
                        "id": 16057,
                        "name": "__witOracleRadonRegistry",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 15789,
                        "src": "5700:24:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                          "typeString": "contract IWitOracleRadonRegistry"
                        }
                      },
                      "id": 16058,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "5725:18:39",
                      "memberName": "lookupRadonReducer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27194,
                      "src": "5700:43:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_RadonReducer_$37748_memory_ptr_$",
                        "typeString": "function (bytes32) view external returns (struct Witnet.RadonReducer memory)"
                      }
                    },
                    "id": 16060,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5700:89:39",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonReducer_$37748_memory_ptr",
                      "typeString": "struct Witnet.RadonReducer memory"
                    }
                  },
                  "functionReturnParameters": 16056,
                  "id": 16061,
                  "nodeType": "Return",
                  "src": "5693:96:39"
                }
              ]
            },
            "functionSelector": "13152e89",
            "id": 16063,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 16052,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 16051,
                  "name": "onlyOnClones",
                  "nameLocations": [
                    "5618:12:39"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 45371,
                  "src": "5618:12:39"
                },
                "nodeType": "ModifierInvocation",
                "src": "5618:12:39"
              }
            ],
            "name": "getDataSourcesAggregator",
            "nameLocation": "5532:24:39",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 16050,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "5577:8:39"
            },
            "parameters": {
              "id": 16049,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5556:2:39"
            },
            "returnParameters": {
              "id": 16056,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 16055,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 16063,
                  "src": "5649:26:39",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonReducer_$37748_memory_ptr",
                    "typeString": "struct Witnet.RadonReducer"
                  },
                  "typeName": {
                    "id": 16054,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 16053,
                      "name": "Witnet.RadonReducer",
                      "nameLocations": [
                        "5649:6:39",
                        "5656:12:39"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37748,
                      "src": "5649:19:39"
                    },
                    "referencedDeclaration": 37748,
                    "src": "5649:19:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonReducer_$37748_storage_ptr",
                      "typeString": "struct Witnet.RadonReducer"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5648:28:39"
            },
            "scope": 16188,
            "src": "5523:274:39",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              27523
            ],
            "body": {
              "id": 16078,
              "nodeType": "Block",
              "src": "5965:124:39",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 16074,
                          "name": "__storage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15801,
                          "src": "6043:9:39",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Storage_$15798_storage",
                            "typeString": "struct WitOracleRadonRequestFactoryModals.Storage storage ref"
                          }
                        },
                        "id": 16075,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6053:17:39",
                        "memberName": "radonRetrieveHash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 15794,
                        "src": "6043:27:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "id": 16072,
                        "name": "__witOracleRadonRegistry",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 15789,
                        "src": "5983:24:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                          "typeString": "contract IWitOracleRadonRegistry"
                        }
                      },
                      "id": 16073,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "6008:20:39",
                      "memberName": "lookupRadonRetrieval",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27261,
                      "src": "5983:45:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_RadonRetrieval_$37795_memory_ptr_$",
                        "typeString": "function (bytes32) view external returns (struct Witnet.RadonRetrieval memory)"
                      }
                    },
                    "id": 16076,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5983:98:39",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonRetrieval_$37795_memory_ptr",
                      "typeString": "struct Witnet.RadonRetrieval memory"
                    }
                  },
                  "functionReturnParameters": 16071,
                  "id": 16077,
                  "nodeType": "Return",
                  "src": "5976:105:39"
                }
              ]
            },
            "functionSelector": "7bb725d3",
            "id": 16079,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 16067,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 16066,
                  "name": "onlyOnClones",
                  "nameLocations": [
                    "5899:12:39"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 45371,
                  "src": "5899:12:39"
                },
                "nodeType": "ModifierInvocation",
                "src": "5899:12:39"
              }
            ],
            "name": "getRadonModalRetrieval",
            "nameLocation": "5814:22:39",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 16065,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "5857:8:39"
            },
            "parameters": {
              "id": 16064,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5836:2:39"
            },
            "returnParameters": {
              "id": 16071,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 16070,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 16079,
                  "src": "5930:28:39",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonRetrieval_$37795_memory_ptr",
                    "typeString": "struct Witnet.RadonRetrieval"
                  },
                  "typeName": {
                    "id": 16069,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 16068,
                      "name": "Witnet.RadonRetrieval",
                      "nameLocations": [
                        "5930:6:39",
                        "5937:14:39"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37795,
                      "src": "5930:21:39"
                    },
                    "referencedDeclaration": 37795,
                    "src": "5930:21:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonRetrieval_$37795_storage_ptr",
                      "typeString": "struct Witnet.RadonRetrieval"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5929:30:39"
            },
            "scope": 16188,
            "src": "5805:284:39",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              27535
            ],
            "body": {
              "id": 16148,
              "nodeType": "Block",
              "src": "6329:686:39",
              "statements": [
                {
                  "assignments": [
                    16095
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 16095,
                      "mutability": "mutable",
                      "name": "_retrieveHash",
                      "nameLocation": "6348:13:39",
                      "nodeType": "VariableDeclaration",
                      "scope": 16148,
                      "src": "6340:21:39",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 16094,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "6340:7:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 16098,
                  "initialValue": {
                    "expression": {
                      "id": 16096,
                      "name": "__storage",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15801,
                      "src": "6364:9:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Storage_$15798_storage",
                        "typeString": "struct WitOracleRadonRequestFactoryModals.Storage storage ref"
                      }
                    },
                    "id": 16097,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "6374:17:39",
                    "memberName": "radonRetrieveHash",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 15794,
                    "src": "6364:27:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6340:51:39"
                },
                {
                  "assignments": [
                    16100
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 16100,
                      "mutability": "mutable",
                      "name": "_commonRetrieveArgsCount",
                      "nameLocation": "6408:24:39",
                      "nodeType": "VariableDeclaration",
                      "scope": 16148,
                      "src": "6402:30:39",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint8",
                        "typeString": "uint8"
                      },
                      "typeName": {
                        "id": 16099,
                        "name": "uint8",
                        "nodeType": "ElementaryTypeName",
                        "src": "6402:5:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 16106,
                  "initialValue": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 16103,
                          "name": "__storage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15801,
                          "src": "6490:9:39",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Storage_$15798_storage",
                            "typeString": "struct WitOracleRadonRequestFactoryModals.Storage storage ref"
                          }
                        },
                        "id": 16104,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6500:17:39",
                        "memberName": "radonRetrieveHash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 15794,
                        "src": "6490:27:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "id": 16101,
                        "name": "__witOracleRadonRegistry",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 15789,
                        "src": "6435:24:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                          "typeString": "contract IWitOracleRadonRegistry"
                        }
                      },
                      "id": 16102,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "6460:29:39",
                      "memberName": "lookupRadonRetrievalArgsCount",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27269,
                      "src": "6435:54:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint8_$",
                        "typeString": "function (bytes32) view external returns (uint8)"
                      }
                    },
                    "id": 16105,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6435:83:39",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6402:116:39"
                },
                {
                  "body": {
                    "id": 16136,
                    "nodeType": "Block",
                    "src": "6576:210:39",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 16132,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "baseExpression": {
                                              "id": 16123,
                                              "name": "modalUrls",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 16085,
                                              "src": "6659:9:39",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
                                                "typeString": "string calldata[] calldata"
                                              }
                                            },
                                            "id": 16125,
                                            "indexExpression": {
                                              "id": 16124,
                                              "name": "_ix",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 16108,
                                              "src": "6669:3:39",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            },
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "IndexAccess",
                                            "src": "6659:14:39",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_string_calldata_ptr",
                                              "typeString": "string calldata"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_string_calldata_ptr",
                                              "typeString": "string calldata"
                                            }
                                          ],
                                          "expression": {
                                            "id": 16121,
                                            "name": "abi",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4294967295,
                                            "src": "6648:3:39",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_magic_abi",
                                              "typeString": "abi"
                                            }
                                          },
                                          "id": 16122,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "memberLocation": "6652:6:39",
                                          "memberName": "encode",
                                          "nodeType": "MemberAccess",
                                          "src": "6648:10:39",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                                            "typeString": "function () pure returns (bytes memory)"
                                          }
                                        },
                                        "id": 16126,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6648:26:39",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      ],
                                      "expression": {
                                        "id": 16119,
                                        "name": "WitnetBuffer",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 42631,
                                        "src": "6623:12:39",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_contract$_WitnetBuffer_$42631_$",
                                          "typeString": "type(library WitnetBuffer)"
                                        }
                                      },
                                      "id": 16120,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "6636:11:39",
                                      "memberName": "argsCountOf",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 41999,
                                      "src": "6623:24:39",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint8_$",
                                        "typeString": "function (bytes memory) pure returns (uint8)"
                                      }
                                    },
                                    "id": 16127,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "6623:52:39",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  },
                                  {
                                    "id": 16128,
                                    "name": "_commonRetrieveArgsCount",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 16100,
                                    "src": "6677:24:39",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    },
                                    {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    }
                                  ],
                                  "id": 16118,
                                  "name": "_max",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 16187,
                                  "src": "6618:4:39",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint8_$returns$_t_uint8_$",
                                    "typeString": "function (uint8,uint8) pure returns (uint8)"
                                  }
                                },
                                "id": 16129,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "6618:84:39",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint8",
                                  "typeString": "uint8"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "==",
                              "rightExpression": {
                                "expression": {
                                  "id": 16130,
                                  "name": "modalArgs",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 16082,
                                  "src": "6706:9:39",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
                                    "typeString": "string calldata[] calldata"
                                  }
                                },
                                "id": 16131,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "6716:6:39",
                                "memberName": "length",
                                "nodeType": "MemberAccess",
                                "src": "6706:16:39",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "6618:104:39",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "hexValue": "6d69736d61746368696e672061726773",
                              "id": 16133,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6741:18:39",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_7c369cecc5479f091391dddee2ecc89dd8d455b49db079bf13caad4aa03551c1",
                                "typeString": "literal_string \"mismatching args\""
                              },
                              "value": "mismatching args"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_7c369cecc5479f091391dddee2ecc89dd8d455b49db079bf13caad4aa03551c1",
                                "typeString": "literal_string \"mismatching args\""
                              }
                            ],
                            "id": 16117,
                            "name": "_require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 26494,
                            "src": "6591:8:39",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) view"
                            }
                          },
                          "id": 16134,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6591:183:39",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 16135,
                        "nodeType": "ExpressionStatement",
                        "src": "6591:183:39"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 16113,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 16110,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 16108,
                      "src": "6544:3:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 16111,
                        "name": "modalUrls",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 16085,
                        "src": "6550:9:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
                          "typeString": "string calldata[] calldata"
                        }
                      },
                      "id": 16112,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "6560:6:39",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "6550:16:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6544:22:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 16137,
                  "initializationExpression": {
                    "assignments": [
                      16108
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 16108,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "6539:3:39",
                        "nodeType": "VariableDeclaration",
                        "scope": 16137,
                        "src": "6534:8:39",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 16107,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "6534:4:39",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 16109,
                    "nodeType": "VariableDeclarationStatement",
                    "src": "6534:8:39"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 16115,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "6568:6:39",
                      "subExpression": {
                        "id": 16114,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 16108,
                        "src": "6568:3:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 16116,
                    "nodeType": "ExpressionStatement",
                    "src": "6568:6:39"
                  },
                  "nodeType": "ForStatement",
                  "src": "6529:257:39"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 16140,
                        "name": "_retrieveHash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 16095,
                        "src": "6861:13:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 16141,
                        "name": "modalArgs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 16082,
                        "src": "6889:9:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
                          "typeString": "string calldata[] calldata"
                        }
                      },
                      {
                        "id": 16142,
                        "name": "modalUrls",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 16085,
                        "src": "6913:9:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
                          "typeString": "string calldata[] calldata"
                        }
                      },
                      {
                        "id": 16143,
                        "name": "__radonAggregateHash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 15791,
                        "src": "6937:20:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes16",
                          "typeString": "bytes16"
                        }
                      },
                      {
                        "expression": {
                          "id": 16144,
                          "name": "__storage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15801,
                          "src": "6972:9:39",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Storage_$15798_storage",
                            "typeString": "struct WitOracleRadonRequestFactoryModals.Storage storage ref"
                          }
                        },
                        "id": 16145,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6982:14:39",
                        "memberName": "radonTallyHash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 15797,
                        "src": "6972:24:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes16",
                          "typeString": "bytes16"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
                          "typeString": "string calldata[] calldata"
                        },
                        {
                          "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
                          "typeString": "string calldata[] calldata"
                        },
                        {
                          "typeIdentifier": "t_bytes16",
                          "typeString": "bytes16"
                        },
                        {
                          "typeIdentifier": "t_bytes16",
                          "typeString": "bytes16"
                        }
                      ],
                      "expression": {
                        "id": 16138,
                        "name": "__witOracleRadonRegistry",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 15789,
                        "src": "6803:24:39",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitOracleRadonRegistry_$27394",
                          "typeString": "contract IWitOracleRadonRegistry"
                        }
                      },
                      "id": 16139,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "6828:18:39",
                      "memberName": "verifyRadonRequest",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27373,
                      "src": "6803:43:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_userDefinedValueType$_RadonHash_$37153_$",
                        "typeString": "function (bytes32,string memory[] memory,string memory[] memory,bytes32,bytes32) external returns (Witnet.RadonHash)"
                      }
                    },
                    "id": 16146,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6803:204:39",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                      "typeString": "Witnet.RadonHash"
                    }
                  },
                  "functionReturnParameters": 16093,
                  "id": 16147,
                  "nodeType": "Return",
                  "src": "6796:211:39"
                }
              ]
            },
            "functionSelector": "f0e271bc",
            "id": 16149,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 16089,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 16088,
                  "name": "onlyOnClones",
                  "nameLocations": [
                    "6275:12:39"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 45371,
                  "src": "6275:12:39"
                },
                "nodeType": "ModifierInvocation",
                "src": "6275:12:39"
              }
            ],
            "name": "verifyRadonRequest",
            "nameLocation": "6106:18:39",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 16087,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "6238:8:39"
            },
            "parameters": {
              "id": 16086,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 16082,
                  "mutability": "mutable",
                  "name": "modalArgs",
                  "nameLocation": "6157:9:39",
                  "nodeType": "VariableDeclaration",
                  "scope": 16149,
                  "src": "6139:27:39",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
                    "typeString": "string[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 16080,
                      "name": "string",
                      "nodeType": "ElementaryTypeName",
                      "src": "6139:6:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage_ptr",
                        "typeString": "string"
                      }
                    },
                    "id": 16081,
                    "nodeType": "ArrayTypeName",
                    "src": "6139:8:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                      "typeString": "string[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 16085,
                  "mutability": "mutable",
                  "name": "modalUrls",
                  "nameLocation": "6199:9:39",
                  "nodeType": "VariableDeclaration",
                  "scope": 16149,
                  "src": "6181:27:39",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
                    "typeString": "string[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 16083,
                      "name": "string",
                      "nodeType": "ElementaryTypeName",
                      "src": "6181:6:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage_ptr",
                        "typeString": "string"
                      }
                    },
                    "id": 16084,
                    "nodeType": "ArrayTypeName",
                    "src": "6181:8:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                      "typeString": "string[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6124:95:39"
            },
            "returnParameters": {
              "id": 16093,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 16092,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 16149,
                  "src": "6306:16:39",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                    "typeString": "Witnet.RadonHash"
                  },
                  "typeName": {
                    "id": 16091,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 16090,
                      "name": "Witnet.RadonHash",
                      "nameLocations": [
                        "6306:6:39",
                        "6313:9:39"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37153,
                      "src": "6306:16:39"
                    },
                    "referencedDeclaration": 37153,
                    "src": "6306:16:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                      "typeString": "Witnet.RadonHash"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6305:18:39"
            },
            "scope": 16188,
            "src": "6097:918:39",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "body": {
              "id": 16168,
              "nodeType": "Block",
              "src": "7465:197:39",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 16162,
                            "name": "__SELF",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 45353,
                            "src": "7542:6:39",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "id": 16163,
                            "name": "_commonRetrievalHash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 16152,
                            "src": "7567:20:39",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "id": 16164,
                            "name": "_crowdAttestationTally",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 16154,
                            "src": "7606:22:39",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes15",
                              "typeString": "bytes15"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes15",
                              "typeString": "bytes15"
                            }
                          ],
                          "expression": {
                            "id": 16160,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4294967295,
                            "src": "7507:3:39",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 16161,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "7511:12:39",
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "src": "7507:16:39",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 16165,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7507:136:39",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 16159,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4294967288,
                      "src": "7483:9:39",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                        "typeString": "function (bytes memory) pure returns (bytes32)"
                      }
                    },
                    "id": 16166,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7483:171:39",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 16158,
                  "id": 16167,
                  "nodeType": "Return",
                  "src": "7476:178:39"
                }
              ]
            },
            "documentation": {
              "id": 16150,
              "nodeType": "StructuredDocumentation",
              "src": "7025:238:39",
              "text": "===============================================================================================================\n --- Internal methods ------------------------------------------------------------------------------------------"
            },
            "id": 16169,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_determineSaltAndPepper",
            "nameLocation": "7278:23:39",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 16155,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 16152,
                  "mutability": "mutable",
                  "name": "_commonRetrievalHash",
                  "nameLocation": "7324:20:39",
                  "nodeType": "VariableDeclaration",
                  "scope": 16169,
                  "src": "7316:28:39",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 16151,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7316:7:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 16154,
                  "mutability": "mutable",
                  "name": "_crowdAttestationTally",
                  "nameLocation": "7368:22:39",
                  "nodeType": "VariableDeclaration",
                  "scope": 16169,
                  "src": "7360:30:39",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes15",
                    "typeString": "bytes15"
                  },
                  "typeName": {
                    "id": 16153,
                    "name": "bytes15",
                    "nodeType": "ElementaryTypeName",
                    "src": "7360:7:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes15",
                      "typeString": "bytes15"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7301:100:39"
            },
            "returnParameters": {
              "id": 16158,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 16157,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 16169,
                  "src": "7451:7:39",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 16156,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7451:7:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7450:9:39"
            },
            "scope": 16188,
            "src": "7269:393:39",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 16186,
              "nodeType": "Block",
              "src": "7732:42:39",
              "statements": [
                {
                  "expression": {
                    "components": [
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          },
                          "id": 16180,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 16178,
                            "name": "a",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 16171,
                            "src": "7751:1:39",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">=",
                          "rightExpression": {
                            "id": 16179,
                            "name": "b",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 16173,
                            "src": "7756:1:39",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            }
                          },
                          "src": "7751:6:39",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseExpression": {
                          "id": 16182,
                          "name": "b",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 16173,
                          "src": "7764:1:39",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        "id": 16183,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "Conditional",
                        "src": "7751:14:39",
                        "trueExpression": {
                          "id": 16181,
                          "name": "a",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 16171,
                          "src": "7760:1:39",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint8",
                          "typeString": "uint8"
                        }
                      }
                    ],
                    "id": 16184,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "7750:16:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "functionReturnParameters": 16177,
                  "id": 16185,
                  "nodeType": "Return",
                  "src": "7743:23:39"
                }
              ]
            },
            "id": 16187,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_max",
            "nameLocation": "7679:4:39",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 16174,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 16171,
                  "mutability": "mutable",
                  "name": "a",
                  "nameLocation": "7690:1:39",
                  "nodeType": "VariableDeclaration",
                  "scope": 16187,
                  "src": "7684:7:39",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 16170,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "7684:5:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 16173,
                  "mutability": "mutable",
                  "name": "b",
                  "nameLocation": "7699:1:39",
                  "nodeType": "VariableDeclaration",
                  "scope": 16187,
                  "src": "7693:7:39",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 16172,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "7693:5:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7683:18:39"
            },
            "returnParameters": {
              "id": 16177,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 16176,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 16187,
                  "src": "7725:5:39",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 16175,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "7725:5:39",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7724:7:39"
            },
            "scope": 16188,
            "src": "7670:104:39",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          }
        ],
        "scope": 16189,
        "src": "268:7509:39",
        "usedErrors": [
          16,
          19
        ],
        "usedEvents": [
          24,
          45361
        ]
      }
    ],
    "src": "35:7742:39"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.30+commit.73712a01.Emscripten.clang"
  },
  "networks": {
    "1": {
      "events": {},
      "links": {},
      "address": "0xD28237c5d7C8C386377A13e6661642294657F35e"
    },
    "1285": {
      "events": {},
      "links": {},
      "address": "0xD28237c5d7C8C386377A13e6661642294657F35e"
    },
    "1287": {
      "events": {},
      "links": {},
      "address": "0xD28237c5d7C8C386377A13e6661642294657F35e"
    },
    "4801": {
      "events": {},
      "links": {},
      "address": "0xD28237c5d7C8C386377A13e6661642294657F35e"
    },
    "11142220": {
      "events": {},
      "links": {},
      "address": "0xffC4147d7b973B1766FB335bC847C7288c4365ff"
    },
    "11155111": {
      "events": {},
      "links": {},
      "address": "0xD28237c5d7C8C386377A13e6661642294657F35e"
    }
  },
  "schemaVersion": "3.4.16",
  "updatedAt": "2025-10-15T14:34:45.519Z",
  "devdoc": {
    "errors": {
      "InvalidInitialization()": [
        {
          "details": "The contract is already initialized."
        }
      ],
      "NotInitializing()": [
        {
          "details": "The contract is not initializing."
        }
      ]
    },
    "events": {
      "Initialized(uint64)": {
        "details": "Triggered when the contract has been initialized or reinitialized."
      }
    },
    "kind": "dev",
    "methods": {},
    "version": 1
  },
  "userdoc": {
    "kind": "user",
    "methods": {
      "class()": {
        "notice": "Returns the name of the actual contract implementing the logic of this Witnet appliance."
      },
      "cloned()": {
        "notice": "Tells whether this contract is a clone of `self()`"
      },
      "getCrowdAttestationTally()": {
        "notice": "=============================================================================================================== --- IWitOracleRadonRequestModal -------------------------------------------------------------------------------"
      },
      "initialized()": {
        "notice": "Tells whether a WitOracleRequest or a WitOracleRequestTemplate has been properly initialized."
      },
      "specs()": {
        "notice": "Returns the ERC-165 id of the minimal functionality expected for this appliance."
      },
      "witOracle()": {
        "notice": "Reference to the Witnet Request Board that all templates built out from this factory will refer to."
      }
    },
    "version": 1
  }
}